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