typeScript中數(shù)組類型定義及應(yīng)用詳解
1.定義數(shù)組
1.1 「類型 + 方括號」表示法
最簡單的方法是使用「類型 + 方括號」來表示數(shù)組:
let list: number[] = [1, 1, 2, 3, 5];
在這里,定義了一個名為list的數(shù)字類型的數(shù)組,數(shù)組里面的項中不允許出現(xiàn)其他的類型,否則會報錯。
1.2 數(shù)組泛型
我們也可以使用數(shù)組泛型(Array Generic) Array<elemType>
來表示數(shù)組:
let list: Array<number> = [1, 1, 2, 3, 5];
關(guān)于泛型,后續(xù)我會更新,可以在我的主頁查看??
1.3 用接口表示數(shù)組
接口也可以用來描述數(shù)組:
interface NumberArray { [index: number]: number; } let list: NumberArray = [1, 1, 2, 3, 5];
NumberArray
表示:只要索引的類型是數(shù)字時,那么值的類型必須是數(shù)字。
雖然接口也可以用來描述數(shù)組,但是我們一般不會這么做,因為這種方式比前兩種方式復雜多了。
不過有一種情況例外,那就是它常用來表示類數(shù)組。
1.4 類數(shù)組
類數(shù)組(Array-like Object)不是數(shù)組類型。
類數(shù)組,不能用普通的數(shù)組的方式來描述,而應(yīng)該用接口:
function sum(){ let args: { [index: number]: number; length: number; callee: Function; }= arguments; }
在這個例子中,我們除了約束當索引的類型是數(shù)字時,值的類型必須是數(shù)字之外,也約束了它還有 length
和 callee
兩個屬性。
事實上常用的類數(shù)組都有自己的接口定義,如 IArguments
, NodeList
, HTMLCollection
等:
function sum() { let args: IArguments = arguments; }
其中 IArguments
是 TypeScript 中定義好了的類型,它實際上就是:
interface IArguments { [index: number]: any; length: number; callee: Function; }
關(guān)于內(nèi)置對象,我后期會更新喲~
2. any 在數(shù)組中的應(yīng)用
一個比較常見的做法是,用 any
表示數(shù)組中允許出現(xiàn)任意類型:
let list: any[] = [ 'xcatliu', 25, { website: 'http://xcatliu.com' } ];
總結(jié)
到此這篇關(guān)于typeScript中數(shù)組類型定義及應(yīng)用的文章就介紹到這了,更多相關(guān)typeScript數(shù)組類型應(yīng)用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- TypeScript 數(shù)組Array操作的常用方法
- TypeScript數(shù)組的定義與使用詳解
- TypeScript編寫自動創(chuàng)建長度固定數(shù)組的類型工具詳解
- TypeScript實現(xiàn)數(shù)組和樹的相互轉(zhuǎn)換
- TypeScript調(diào)整數(shù)組元素順序算法
- TypeScript中Array(數(shù)組)聲明與簡單使用方法
- TypeScript之元組、數(shù)組及as?const的使用
- TypeScript判斷兩個數(shù)組的內(nèi)容是否相等的實現(xiàn)
- TypeScript數(shù)組實現(xiàn)棧與對象實現(xiàn)棧的區(qū)別詳解
- TypeScript之元組、數(shù)組、多維數(shù)組定義方法以及 as const說明
相關(guān)文章
JS基于開關(guān)思想實現(xiàn)的數(shù)組去重功能【案例】
這篇文章主要介紹了JS基于開關(guān)思想實現(xiàn)的數(shù)組去重功能,簡單分析了開關(guān)思想的原理,并結(jié)合具體實例形式分析了javascript基于開關(guān)思想實現(xiàn)數(shù)組去重相關(guān)操作技巧,需要的朋友可以參考下2019-02-02基于JS實現(xiàn)簡單的隨機抽取幸運員工系統(tǒng)
這篇文章主要為大家詳細介紹了基于HTML+JavaScript實現(xiàn)簡單的隨機抽取幸運員工系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下2023-11-11JavaScript實現(xiàn)Tab標簽頁切換的最簡便方式(4種)
這篇文章主要介紹了JavaScript實現(xiàn)Tab標簽頁切換的最簡便方式(4種),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06一個非常全面的javascript URL解析函數(shù)和分段URL解析方法
本文詳細介紹了一個非常全面的javascript URL解析函數(shù),可以解析一個URL中的協(xié)議、主機、查詢字符串甚至錨鏈接,非常實用,一并總結(jié)了js自帶的分段URL解析方法,需要的朋友可以參考下2014-04-04微信小程序?qū)Ш綑诨瑒佣ㄎ还δ苁纠?實現(xiàn)CSS3的positionsticky效果)
這篇文章主要介紹了微信小程序?qū)Ш綑诨瑒佣ㄎ还δ?可實現(xiàn)CSS3的positionsticky效果,涉及微信小程序事件監(jiān)聽、狀態(tài)判斷及屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2019-01-01