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編寫自動(dòng)創(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)文章
JS基于開關(guān)思想實(shí)現(xiàn)的數(shù)組去重功能【案例】
這篇文章主要介紹了JS基于開關(guān)思想實(shí)現(xiàn)的數(shù)組去重功能,簡單分析了開關(guān)思想的原理,并結(jié)合具體實(shí)例形式分析了javascript基于開關(guān)思想實(shí)現(xiàn)數(shù)組去重相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
基于JS實(shí)現(xiàn)簡單的隨機(jī)抽取幸運(yùn)員工系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于HTML+JavaScript實(shí)現(xiàn)簡單的隨機(jī)抽取幸運(yùn)員工系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-11-11
JavaScript實(shí)現(xiàn)Tab標(biāo)簽頁切換的最簡便方式(4種)
這篇文章主要介紹了JavaScript實(shí)現(xiàn)Tab標(biāo)簽頁切換的最簡便方式(4種),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
一個(gè)非常全面的javascript URL解析函數(shù)和分段URL解析方法
本文詳細(xì)介紹了一個(gè)非常全面的javascript URL解析函數(shù),可以解析一個(gè)URL中的協(xié)議、主機(jī)、查詢字符串甚至錨鏈接,非常實(shí)用,一并總結(jié)了js自帶的分段URL解析方法,需要的朋友可以參考下2014-04-04
微信小程序?qū)Ш綑诨瑒?dòng)定位功能示例(實(shí)現(xiàn)CSS3的positionsticky效果)
這篇文章主要介紹了微信小程序?qū)Ш綑诨瑒?dòng)定位功能,可實(shí)現(xiàn)CSS3的positionsticky效果,涉及微信小程序事件監(jiān)聽、狀態(tài)判斷及屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01
js實(shí)現(xiàn)簡單的選項(xiàng)卡效果
本文主要介紹了js實(shí)現(xiàn)簡單的選項(xiàng)卡效果的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02
基于JavaScript實(shí)現(xiàn)智能右鍵菜單
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)智能右鍵菜單的相關(guān)資料,需要的朋友可以參考下2016-03-03

