ash*_*ngi 1 javascript typescript ecmascript-6
let a = Array<number>();
console.log(a);
Run Code Online (Sandbox Code Playgroud)
这是否意味着类似
let a = new Array();
Run Code Online (Sandbox Code Playgroud)
介于两者之间的<>
是type arguments,用于告诉 TypeScript 与调用关联的类型。采用类型参数的函数称为泛型- 请参阅该页面以获取对它们的扩展描述。
number
作为类型参数传递withArray<number>
向 TypeScript 表明数组将由数字组成。也就是说,您将被允许执行以下操作:
a.push(10);
Run Code Online (Sandbox Code Playgroud)
稍后,但你不会被允许做
a.push('somestring');
Run Code Online (Sandbox Code Playgroud)
如果你不给它一个类型参数,它会被输入为Array<any>
,允许使用任何值,这会失去类型安全性并且通常不是你想要的。
请注意,对于数组,通常应避免使用 Array 构造函数,而只使用空数组字面量:
const a: Array<number> = [];
Run Code Online (Sandbox Code Playgroud)