1、TypeScript 基礎(chǔ)類型
TypeScript 包含的數(shù)據(jù)類型如下表:
注意: TypeScript 和 JavaScript 沒(méi)有整數(shù)類型。
2、Any 類型
任意值是 TypeScript 針對(duì)編程時(shí)類型不明確的變量使用的一種數(shù)據(jù)類型,它常用于以下三種情況。
1、變量的值會(huì)動(dòng)態(tài)改變時(shí),比如來(lái)自用戶的輸入,任意值類型可以讓這些變量跳過(guò)編譯階段的類型檢查,示例代碼如下:
let x: any = 1; // 數(shù)字類型
x = 'I am who I am'; // 字符串類型
x = false; // 布爾類型
改寫(xiě)現(xiàn)有代碼時(shí),任意值允許在編譯時(shí)可選擇地包含或移除類型檢查,示例代碼如下:
let x: any = 4;
x.ifItExists(); // 正確,ifItExists方法在運(yùn)行時(shí)可能存在,但這里并不會(huì)檢查
x.toFixed(); // 正確
定義存儲(chǔ)各種類型數(shù)據(jù)的數(shù)組時(shí),示例代碼如下:
let arrayList: any[] = [1, false, 'fine'];
arrayList[1] = 100;
3、Null 和 Undefined
null
在 JavaScript 中 null 表示 "什么都沒(méi)有"。
null是一個(gè)只有一個(gè)值的特殊類型。表示一個(gè)空對(duì)象引用。
用 typeof 檢測(cè) null 返回是 object。
undefined
在 JavaScript 中, undefined 是一個(gè)沒(méi)有設(shè)置值的變量。
typeof 一個(gè)沒(méi)有值的變量會(huì)返回 undefined。
Null 和 Undefined 是其他任何類型(包括 void)的子類型,可以賦值給其它類型,如數(shù)字類型,此時(shí),賦值后的類型會(huì)變成 null 或 undefined。而在TypeScript中啟用嚴(yán)格的空校驗(yàn)(--strictNullChecks)特性,就可以使得null 和 undefined 只能被賦值給 void 或本身對(duì)應(yīng)的類型,示例代碼如下:
// 啟用 --strictNullChecks
let x: number;
x = 1; // 編譯正確
x = undefined; // 編譯錯(cuò)誤
x = null; // 編譯錯(cuò)誤復(fù)制復(fù)制
上面的例子中變量 x 只能是數(shù)字類型。如果一個(gè)類型可能出現(xiàn) null 或 undefined, 可以用 | 來(lái)支持多種類型,示例代碼如下:
// 啟用 --strictNullChecks
let x: number | null | undefined;
x = 1; // 編譯正確
x = undefined; // 編譯正確
x = null; // 編譯正確
鴻蒙OS開(kāi)發(fā) | 更多內(nèi)容↓點(diǎn)擊 | HarmonyOS與OpenHarmony技術(shù) |
---|---|---|
鴻蒙技術(shù)文檔 | 開(kāi)發(fā)知識(shí)更新庫(kù)gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md 在這。 | 或+mau123789學(xué)習(xí),是v喔 |
4、never 類型
never 是其它類型(包括 null 和 undefined)的子類型,代表從不會(huì)出現(xiàn)的值。這意味著聲明為 never 類型的變量只能被 never 類型所賦值,在函數(shù)中它通常表現(xiàn)為拋出異常或無(wú)法執(zhí)行到終止點(diǎn)(例如無(wú)限循環(huán)),示例代碼如下:
let x: never;
let y: number;
// 編譯錯(cuò)誤,數(shù)字類型不能轉(zhuǎn)為 never 類型
x = 123;
// 運(yùn)行正確,never 類型可以賦值給 never類型
x = (()= >{ throw new Error('exception')})();
// 運(yùn)行正確,never 類型可以賦值給 數(shù)字類型
y = (()= >{ throw new Error('exception')})();
// 返回值為 never 的函數(shù)可以是拋出異常的情況
function error(message: string): never {
throw new Error(message);
}
// 返回值為 never 的函數(shù)可以是無(wú)法被執(zhí)行到的終止點(diǎn)的情況
function loop(): never {
while (true) {}
}
審核編輯 黃宇
-
HarmonyOS
+關(guān)注
關(guān)注
79文章
1966瀏覽量
29962 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3635瀏覽量
16061 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
188瀏覽量
4359
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論