3
如何在TypeScript中的类型签名中指定数组的长度?指定类型签名中的数组长度
var a: Array<any>[20];
...
foo(a[10]); // fine
foo(a[100]); // type error: index is out of bounds
如何在TypeScript中的类型签名中指定数组的长度?指定类型签名中的数组长度
var a: Array<any>[20];
...
foo(a[10]); // fine
foo(a[100]); // type error: index is out of bounds
你不能,因为数组不固定长度。过度索引数组不会导致编译时错误。
这来自于JavaScript中的数组实际上只是特殊对象,具有更严格定义的属性名称和额外的length
属性。 TypeScript只改变数组的一个方面:它们只能包含单一类型的元素。
好的谢谢。虽然像'a [x]'这样的东西当然是一个简单的方法,它可以在编译时同样强制执行。然后在运行时,无论如何,数组可以是任意长度并包含任何东西。 –
相关:[TypeScript:如何在编译时声明类型检查的固定大小数组](https://stackoverflow.com/questions/42441408/typescript-how-to-declare-array-of-fixed-size - 对于式检查的在编译时间)。 – sleske