在 for of 循环中强制转换声明变量
Cast declaration variable inside for of loop
是否有在 "for of" 循环内转换声明变量的更短和简化的版本。
let array1: Array<String | Number>;
for (let a of array1) {
let ab: String = <String>a;
}
我知道强制转换整个数组是可行的,但是如果我可以强制转换或设置声明变量的数据类型 "a" 而不是强制转换整个数组,我会感到更高兴,就像那可能吗?
如果我输入
let <String>a
或 let a:String
它不起作用。
ref TypeScript casting arrays
let array1 : Array<string | number> = [];
array1.push('abc', 9, 'def', 10);
for (let a of array1 as Array<string> ){
console.log(a);
}
类似地,DOM NodeList 上的 forEach
次迭代将被转换为:
const links: NodeListOf<HTMLElement> = document.querySelectorAll('a')
links.forEach(a => a.setAttribute('target', '_blank'))
是否有在 "for of" 循环内转换声明变量的更短和简化的版本。
let array1: Array<String | Number>;
for (let a of array1) {
let ab: String = <String>a;
}
我知道强制转换整个数组是可行的,但是如果我可以强制转换或设置声明变量的数据类型 "a" 而不是强制转换整个数组,我会感到更高兴,就像那可能吗?
如果我输入
let <String>a
或 let a:String
它不起作用。
ref TypeScript casting arrays
let array1 : Array<string | number> = [];
array1.push('abc', 9, 'def', 10);
for (let a of array1 as Array<string> ){
console.log(a);
}
类似地,DOM NodeList 上的 forEach
次迭代将被转换为:
const links: NodeListOf<HTMLElement> = document.querySelectorAll('a')
links.forEach(a => a.setAttribute('target', '_blank'))