TypeScript 型別斷言
型別斷言可以實現對已存在資料型別的轉換。
程式碼例項如下:
[typescript] 純文字檢視 複製程式碼let anyValue: any = "螞蟻部落"; let strLength: number = (<string>anyValue).length;
尖括號<>中的資料型別為目標型別;上面的程式碼可以將Any型別資料轉換為string型別。
再來看一段程式碼例項:
[typescript] 純文字檢視 複製程式碼class Shape { webName:string="螞蟻部落" } class Circle extends Shape { address:string="青島市南區" //code } function createShape(kind: string): Shape { if (kind === "circle") return new Circle(); } let circle:Circle = <Circle> createShape("circle");
Circle是Shape子類,createShape函式的返回值值型別是Shape,進行一下型別斷言即可。
型別斷言也是有規則的,並不是隨意進行,看如下程式碼例項:
[typescript] 純文字檢視 複製程式碼let str:string="螞蟻部落"; let num:number=<number>str
上面的程式碼會報錯,截圖如下:
假設如下為型別斷言格式:
[typescript] 純文字檢視 複製程式碼<T> e
只要滿足以下任何一個要求即可進行斷言:
(1).e可以賦值給型別為T的變數。
(2).T型別值可以賦值給e的資料型別的widened form的變數。
資料型別的widend form形式可以參閱Widened Types一章節。
相關文章
- typeScript 型別斷言、聯合型別和交叉型別(七)TypeScript型別
- TypeScript 型別推斷TypeScript型別
- TypeScript 入門自學筆記 — 型別斷言(二)TypeScript筆記型別
- 型別斷言型別
- GO型別斷言Go型別
- Typescript型別推斷技巧你知道麼?TypeScript型別
- TypeScript this型別TypeScript型別
- TypeScript 泛型型別TypeScript泛型型別
- TypeScript 型別相容TypeScript型別
- TypeScript 交叉型別TypeScript型別
- Typescript:基本型別TypeScript型別
- TypeScript 字串型別TypeScript字串型別
- TypeScript Never型別TypeScript型別
- TypeScript Any型別TypeScript型別
- TypeScript 索引型別TypeScript索引型別
- TypeScript 型別安全TypeScript型別
- TypeScript type 型別別名TypeScript型別
- TypeScript 型別系統TypeScript型別
- Typescript高階型別TypeScript型別
- TypeScript 聯合型別TypeScript型別
- TypeScript 型別保護TypeScript型別
- TypeScript void 型別TypeScript型別
- TypeScript 陣列型別TypeScript陣列型別
- TypeScript 函式型別TypeScript函式型別
- TypeScript 數值型別TypeScript型別
- TypeScript 布林型別TypeScript型別
- TypeScript Widened型別TypeScriptIDE型別
- TypeScript 對映型別TypeScript型別
- TypeScript 元組型別TypeScript型別
- TypeScript 字面量型別TypeScript型別
- TypeScript資料型別TypeScript資料型別
- TypeScript型別系統和基礎型別TypeScript型別
- TypeScript-----資料型別TypeScript資料型別
- 【譯】TypeScript 的型別(一)TypeScript型別
- TypeScript 字串字面量型別TypeScript字串型別
- TypeScript 混合型別介面TypeScript型別
- TypeScript Null和Undefined 型別TypeScriptNullUndefined型別
- TypeScript(3)基礎型別TypeScript型別