0.忽然覺得插入代碼的樣式更好看些

1.類型[] 表示法
1 let arr1 : number[] = [1,2,3]; 2 let arr2 : string[] = ["1","2","3"]; 3 let arr3 : any[] = ["1",2,true,{age:1}]; 4 5 let arr4 : number[] = ["1",2,"3"]; 6 // Type '(string | number)[]' is not assignable to type 'number[]'.
使用類型+中括號的方法進行定義,要嚴格遵守類型的要求,因為typescript會進行類型檢查,
據說后面在“元組”中會有類似行5的這種定義方式
2.數組泛型
1 let arr1 : Array<number> = [1,2,3]; 2 let arr2 : Array<string> = ["1","2","3"]; 3 let arr3 : Array<any> = ["1",2,"3"]; 4 5 let arr4 : Array<number> = ["1",2,"3"]; 6 // Type '(string | number)[]' is not assignable to type 'number[]'.
3.用接口表示數組
依舊是千古不變的student,雖然不符合場景,但我還是想用,
我一定是受到了大學老師的影響,哈哈哈
數組類型擁有一個index類型,是用來索引數組的,所以在定義的時候是 [index:number]
1 interface Student1{ 2 [index:number]:number 3 } 4 let arr1:Student1 = [1,2,3]; 5 6 interface Student2{ 7 [index:number]:string 8 } 9 let arr2:Student2 = ["1","2","3"];
4.類數組
類數組不是數組類型,比如arguments
其實常見的類數組都有自己的接口定義,如 IArguments、NodeList、HTMLCollection等:
打印出來的是個這東西
可是這樣就完蛋了,咋回事兒~