TypeScript 數據類型
TypeScript 包含的數據類型如下表:
數據類型 | 關鍵字 | 描述 |
---|---|---|
任意類型 | any | 聲明為 any 的變量可以賦予任意類型的值。 |
數字類型 | number |
雙精度 64 位浮點值。它可以用來表示整數和分數。 let binaryLiteral: number = 0b1010; // 二進制 let octalLiteral: number = 0o744; // 八進制 let decLiteral: number = 6; // 十進制 let hexLiteral: number = 0xf00d; // 十六進制 |
字符串類型 | string |
一個字符系列,使用單引號(')或雙引號(")來表示字符串類型。反引號(`)來定義多行文本和內嵌表達式。 let name: string = "Codebaoku"; let years: number = 5; let words: string = `您好,今年是 ${ name } 發布 ${ years + 1} 周年`; |
布爾類型 | boolean |
表示邏輯值:true 和 false。 let flag: boolean = true; |
數組類型 | 無 |
聲明變量為數組。 // 在元素類型后面加上[] let arr: number[] = [1, 2]; // 或者使用數組泛型 let arr: Array<number> = [1, 2];</number> |
元組 | 無 |
元組類型用來表示已知元素數量和類型的數組,各元素的類型不必相同,對應位置的類型需要相同。 let x: [string, number]; x = ['Codebaoku', 1]; // 運行正常 x = [1, 'Codebaoku']; // 報錯 console.log(x[0]); // 輸出 Runoob |
枚舉 | enum |
枚舉類型用于定義數值集合。 enum Color {Red, Green, Blue}; let c: Color = Color.Blue; console.log(c); // 輸出 2 |
void | void |
用于標識方法返回值的類型,表示該方法沒有返回值。 function hello(): void { alert("Hello Codebaoku"); } |
null | null |
表示對象值缺失。 |
undefined | undefined |
用于初始化變量為一個未定義的值 |
never | never |
never 是其它類型(包括 null 和 undefined)的子類型,代表從不會出現的值。 |
注意:TypeScript 和 JavaScript 沒有整數類型。
1. Any 類型
任意值是 TypeScript 針對編程時類型不明確的變量使用的一種數據類型,它常用于以下三種情況。
1、變量的值會動態改變時,比如來自用戶的輸入,任意值類型可以讓這些變量跳過編譯階段的類型檢查,示例代碼如下:
let x: any = 1; // 數字類型 x = 'I am who I am'; // 字符串類型 x = false; // 布爾類型
改寫現有代碼時,任意值允許在編譯時可選擇地包含或移除類型檢查,示例代碼如下:
let x: any = 4; x.ifItExists(); // 正確,ifItExists方法在運行時可能存在,但這里并不會檢查 x.toFixed(); // 正確
定義存儲各種類型數據的數組時,示例代碼如下:
let arrayList: any[] = [1, false, 'fine']; arrayList[1] = 100;
2. Null 和 Undefined
1) null
在 JavaScript 中 null 表示 "什么都沒有"。
null是一個只有一個值的特殊類型。表示一個空對象引用。
用 typeof 檢測 null 返回是 object。
2) undefined
在 JavaScript 中, undefined 是一個沒有設置值的變量。
typeof 一個沒有值的變量會返回 undefined。
Null 和 Undefined 是其他任何類型(包括 void)的子類型,可以賦值給其它類型,如數字類型,此時,賦值后的類型會變成 null 或 undefined。而在TypeScript中啟用嚴格的空校驗(--strictNullChecks)特性,就可以使得null 和 undefined 只能被賦值給 void 或本身對應的類型,示例代碼如下:
// 啟用 --strictNullChecks let x: number; x = 1; // 運行正確 x = undefined; // 運行錯誤 x = null; // 運行錯誤
上面的例子中變量 x 只能是數字類型。如果一個類型可能出現 null 或 undefined, 可以用 | 來支持多種類型,示例代碼如下:
// 啟用 --strictNullChecks let x: number | null | undefined; x = 1; // 運行正確 x = undefined; // 運行正確 x = null; // 運行正確
3. never 類型
never 是其它類型(包括 null 和 undefined)的子類型,代表從不會出現的值。這意味著聲明為 never 類型的變量只能被 never 類型所賦值,在函數中它通常表現為拋出異常或無法執行到終止點(例如無限循環),示例代碼如下:
let x: never; let y: number; // 運行錯誤,數字類型不能轉為 never 類型 x = 123; // 運行正確,never 類型可以賦值給 never類型 x = (()=>{ throw new Error('exception')})(); // 運行正確,never 類型可以賦值給 數字類型 y = (()=>{ throw new Error('exception')})(); // 返回值為 never 的函數可以是拋出異常的情況 function error(message: string): never { throw new Error(message); } // 返回值為 never 的函數可以是無法被執行到的終止點的情況 function loop(): never { while (true) {} }
- JavaScript如何對負數開方
- javascript報錯如何調試
- javascript中如何完成全選
- javascript如何刪除網頁數據
- javascript怎么實現登錄界面成功跳轉
- javascript如何輸出當前時間
- javascript標簽的下拉框如何定位
- javascript怎么實現遠程通信
- javascript中怎么嵌套php腳本
- javascript怎么設置三色燈
- 怎么開發javascript錯誤上報工具
- javascript如何設置文本框
- TypeScript 循環
- TypeScript Number
- TypeScript Array 數組
- TypeScript 元組
- TypeScript 聯合類型
- TypeScript 類
- TypeScript 對象
- TypeScript 命名空間