TypeScript type 型別別名
在實際應用中,有些型別名字比較長或者難以記憶,重新命名是一個較好的解決方案。
TypeScript可以通過type關鍵字給型別重新命名,看如下程式碼例項:
[typescript] 純文字檢視 複製程式碼interface T1 { a: boolean; b: string; } interface T2 { a: boolean; b: number; } type T = T1 & T2;
上面的程式碼將交叉型別T1&T2重新命名為T。
如果說上面的程式碼演示有一點點複雜,下面看一個極其簡單的程式碼:
[typescript] 純文字檢視 複製程式碼type ant = string; let str:ant="螞蟻部落";
別名不會新建一個型別,而是建立一個新名字來引用此型別。
泛型別名:
TypeScript1.6版本開始支援為泛型提供別名,首先看一段程式碼例項:
[typescript] 純文字檢視 複製程式碼type ant=string | (() => string)
上面為一個非泛型的聯合型別重新命名;聯合型別參閱TypeScript 聯合型別一章節。
[typescript] 純文字檢視 複製程式碼type ant<T>=T | (() => T)
上面是為一個泛型相關型別重新命名。
型別別名和介面的區別:
通過上面的介紹,型別別名與介面有一些類似之處,但是區別也是很明顯的:
(1).錯誤資訊不會使用別名。
(2).介面是建立一個新的型別,別名不會建立一個新型別,是對原有型別的引用。
(3).即使使用別名,編輯器只能提示還是會顯示原有型別名稱:
相關文章
- 深入學習typescript type型別TypeScript型別
- typescript type 分配條件型別TypeScript型別
- TypeScript 強大的型別別名TypeScript型別
- 全域性 type 型別的尋找 typescript 型別 - fabric.Canvas型別TypeScriptCanvas
- TypeScript this型別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、interface、class的區別TypeScript
- TypeScript 裡 interface 和 type 的區別TypeScript
- any-type, 傻瓜化操作, json資料生成typescript型別JSONTypeScript型別
- 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 字面量型別TypeScript型別
- HTTP Content-Type型別HTTP型別
- Python -型別提示 Type HintsPython型別
- TypeScript 混合型別介面TypeScript型別
- TypeScript Null和Undefined 型別TypeScriptNullUndefined型別