typeScript中數(shù)組類型定義及應(yīng)用詳解
1.定義數(shù)組
1.1 「類型 + 方括號」表示法
最簡單的方法是使用「類型 + 方括號」來表示數(shù)組:
let list: number[] = [1, 1, 2, 3, 5];
在這里,定義了一個(gè)名為list的數(shù)字類型的數(shù)組,數(shù)組里面的項(xiàng)中不允許出現(xiàn)其他的類型,否則會報(bào)錯(cuò)。
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ù)組,但是我們一般不會這么做,因?yàn)檫@種方式比前兩種方式復(fù)雜多了。
不過有一種情況例外,那就是它常用來表示類數(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;
} 在這個(gè)例子中,我們除了約束當(dāng)索引的類型是數(shù)字時(shí),值的類型必須是數(shù)字之外,也約束了它還有 length 和 callee 兩個(gè)屬性。
事實(shí)上常用的類數(shù)組都有自己的接口定義,如 IArguments, NodeList, HTMLCollection 等:
function sum() {
let args: IArguments = arguments;
} 其中 IArguments 是 TypeScript 中定義好了的類型,它實(shí)際上就是:
interface IArguments {
[index: number]: any;
length: number;
callee: Function;
}關(guān)于內(nèi)置對象,我后期會更新喲~
2. any 在數(shù)組中的應(yīng)用
一個(gè)比較常見的做法是,用 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實(shí)現(xiàn)數(shù)組和樹的相互轉(zhuǎn)換
- TypeScript調(diào)整數(shù)組元素順序算法
- TypeScript中Array(數(shù)組)聲明與簡單使用方法
- TypeScript之元組、數(shù)組及as?const的使用
- TypeScript判斷兩個(gè)數(shù)組的內(nèi)容是否相等的實(shí)現(xiàn)
- TypeScript數(shù)組實(shí)現(xiàn)棧與對象實(shí)現(xiàn)棧的區(qū)別詳解
- TypeScript之元組、數(shù)組、多維數(shù)組定義方法以及 as const說明
相關(guān)文章
從表單校驗(yàn)看JavaScript策略模式的使用詳解
這篇文章主要介紹了從表單校驗(yàn)看JavaScript策略模式的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
JavaScript實(shí)現(xiàn)動畫打開半透明提示層的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)動畫打開半透明提示層的方法,涉及javascript操作DOM的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
javascript中兼容主流瀏覽器的動態(tài)生成iframe方法
這篇文章主要介紹了javascript中兼容主流瀏覽器的動態(tài)生成iframe方法,需要的朋友可以參考下2014-05-05
JavaScript鏈?zhǔn)秸{(diào)用原理與實(shí)現(xiàn)方法詳解
這篇文章主要介紹了JavaScript鏈?zhǔn)秸{(diào)用,結(jié)合實(shí)例形式詳細(xì)分析了JavaScript鏈?zhǔn)秸{(diào)用基本原理、實(shí)現(xiàn)方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
JS script腳本中async和defer區(qū)別詳解
這篇文章主要介紹了JS script腳本中async和defer區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06

