7.typescript-數組的類型


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等:

 

打印出來的是個這東西

可是這樣就完蛋了,咋回事兒~

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM