TypeScript 聯合型別
聯合型別表示一個值可以是幾種資料型別中的某一種。
型別之間使用豎線"|"分隔,程式碼如下:
[typescript] 純文字檢視 複製程式碼let val:number | string;
表示val值可以是number型別或者string型別的某一種。
再來看一段程式碼例項:
[typescript] 純文字檢視 複製程式碼function test(value: string, padding: string | number) { let arr=["螞蟻部落",4,"青島市南區"]; if(typeof padding=="string"){ console.log(value+padding); }else if(typeof padding=="number"){ console.log(value+arr[padding]); } } test("前端教程","螞蟻部落"); test("前端教程",2);
通過上面的程式碼,可以限定函式的第二引數只能是string和number型別的某一種。
如果一個值是聯合型別,那麼只能訪問聯合型別的共有成員。
程式碼例項如下:
[typescript] 純文字檢視 複製程式碼class Bird{ leg=2; color="white"; fly(){ // code } } class Insect { leg=8; color="black"; eat(){ // code } } function antzone(): Bird | Insect { return new Bird(); } let ant = antzone(); ant.color; ant.leg; ant.eat()// 報錯,只能訪問共有成員
最後一行會報錯,只能訪問共有成員,比較簡單不多介紹。
相關文章
- TypeScript 可辨識聯合型別TypeScript型別
- typeScript 型別斷言、聯合型別和交叉型別(七)TypeScript型別
- 系統學習 TypeScript(五)——聯合型別TypeScript型別
- 來學習typescript 吧! --6 聯合型別 | 交叉型別 |型別斷言TypeScript型別
- TypeScript中,如何利用陣列生成一個聯合型別TypeScript陣列型別
- Typescript 下 Mongoose 外來鍵型別&外來鍵陣列型別定義&型別保護&聯合型別理解TypeScriptGo型別陣列
- TypeScript this型別TypeScript型別
- TypeScript 3.3釋出:改進了聯合型別呼叫和構建時間TypeScript型別
- TypeScript 泛型型別TypeScript泛型型別
- Typescript:基本型別TypeScript型別
- TypeScript Widened型別TypeScriptIDE型別
- TypeScript Never型別TypeScript型別
- TypeScript Any型別TypeScript型別
- TypeScript 索引型別TypeScript索引型別
- TypeScript 型別相容TypeScript型別
- TypeScript 交叉型別TypeScript型別
- TypeScript void 型別TypeScript型別
- TypeScript 字串型別TypeScript字串型別
- TypeScript 型別安全TypeScript型別
- TypeScript type 型別別名TypeScript型別
- TS資料型別:型別別名/聯合型別/字面量型別/型別推論等綱要資料型別
- TypeScript 數值型別TypeScript型別
- TypeScript 布林型別TypeScript型別
- Typescript高階型別TypeScript型別
- TypeScript 對映型別TypeScript型別
- TypeScript 函式型別TypeScript函式型別
- TypeScript資料型別TypeScript資料型別
- TypeScript 型別系統TypeScript型別
- TypeScript 型別推斷TypeScript型別
- TypeScript 型別保護TypeScript型別
- TypeScript 型別斷言TypeScript型別
- TypeScript 陣列型別TypeScript陣列型別
- TypeScript 字面量型別TypeScript型別
- TypeScript型別系統和基礎型別TypeScript型別
- TypeScript 混合型別介面TypeScript型別
- TypeScript Null和Undefined 型別TypeScriptNullUndefined型別
- TypeScript-----資料型別TypeScript資料型別
- TypeScript 字串字面量型別TypeScript字串型別