在for循环内强制转换声明变量

Vje*_*udi 7 casting typescript typescript-typings

在“ for of”循环内是否存在一个更简短的转换声明变量的版本。

let array1: Array<String | Number>;
for (let a of array1) {
    let ab: String = <String>a;
}
Run Code Online (Sandbox Code Playgroud)

我知道强制转换整个数组是可以的,但是如果我可以强制转换或设置声明变量“ a”的数据类型而不是强制转换整个数组,我会感到非常高兴,这可能吗?如果我键入 let <String>a或者let a:String它不起作用。

小智 9

引用TypeScript转换数组

let array1 : Array<string | number> = [];
array1.push('abc', 9, 'def', 10);
for (let a of  array1 as Array<string> ){
  console.log(a);
}
Run Code Online (Sandbox Code Playgroud)