1、TypeScript 基礎(chǔ)類型
TypeScript 包含的數(shù)據(jù)類型如下表:
注意: TypeScript 和 JavaScript 沒有整數(shù)類型。
2、Any 類型
任意值是 TypeScript 針對編程時類型不明確的變量使用的一種數(shù)據(jù)類型,它常用于以下三種情況。
1、變量的值會動態(tài)改變時,比如來自用戶的輸入,任意值類型可以讓這些變量跳過編譯階段的類型檢查,示例代碼如下:
let x: any = 1; // 數(shù)字類型
x = 'I am who I am'; // 字符串類型
x = false; // 布爾類型
改寫現(xiàn)有代碼時,任意值允許在編譯時可選擇地包含或移除類型檢查,示例代碼如下:
let x: any = 4;
x.ifItExists(); // 正確,ifItExists方法在運(yùn)行時可能存在,但這里并不會檢查
x.toFixed(); // 正確
定義存儲各種類型數(shù)據(jù)的數(shù)組時,示例代碼如下:
let arrayList: any[] = [1, false, 'fine'];
arrayList[1] = 100;
3、Null 和 Undefined
null
在 JavaScript 中 null 表示 "什么都沒有"。
null是一個只有一個值的特殊類型。表示一個空對象引用。
用 typeof 檢測 null 返回是 object。
undefined
在 JavaScript 中, undefined 是一個沒有設(shè)置值的變量。
typeof 一個沒有值的變量會返回 undefined。
Null 和 Undefined 是其他任何類型(包括 void)的子類型,可以賦值給其它類型,如數(shù)字類型,此時,賦值后的類型會變成 null 或 undefined。而在TypeScript中啟用嚴(yán)格的空校驗(--strictNullChecks)特性,就可以使得null 和 undefined 只能被賦值給 void 或本身對應(yīng)的類型,示例代碼如下:
// 啟用 --strictNullChecks
let x: number;
x = 1; // 編譯正確
x = undefined; // 編譯錯誤
x = null; // 編譯錯誤復(fù)制復(fù)制
上面的例子中變量 x 只能是數(shù)字類型。如果一個類型可能出現(xiàn) null 或 undefined, 可以用 | 來支持多種類型,示例代碼如下:
// 啟用 --strictNullChecks
let x: number | null | undefined;
x = 1; // 編譯正確
x = undefined; // 編譯正確
x = null; // 編譯正確
鴻蒙OS開發(fā) | 更多內(nèi)容↓點擊 | HarmonyOS與OpenHarmony技術(shù) |
---|---|---|
鴻蒙技術(shù)文檔 | 開發(fā)知識更新庫gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md 在這。 | 或+mau123789學(xué)習(xí),是v喔 |
4、never 類型
never 是其它類型(包括 null 和 undefined)的子類型,代表從不會出現(xiàn)的值。這意味著聲明為 never 類型的變量只能被 never 類型所賦值,在函數(shù)中它通常表現(xiàn)為拋出異?;驘o法執(zhí)行到終止點(例如無限循環(huán)),示例代碼如下:
let x: never;
let y: number;
// 編譯錯誤,數(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ù)可以是無法被執(zhí)行到的終止點的情況
function loop(): never {
while (true) {}
}
審核編輯 黃宇
-
HarmonyOS
+關(guān)注
關(guān)注
79文章
1984瀏覽量
30655 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3753瀏覽量
16686 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
190瀏覽量
4560
發(fā)布評論請先 登錄
相關(guān)推薦
AIGC入門及鴻蒙入門
鴻蒙開發(fā):【從TypeScript到ArkTS的適配規(guī)則】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>:【從<b class='flag-5'>TypeScript</b>到ArkTS的適配規(guī)則】](https://file1.elecfans.com/web2/M00/E6/2C/wKgaomZCv1yAMM29AAB6w-f0y9Q375.png)
鴻蒙TypeScript學(xué)習(xí)21天:【聲明文件】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b>21<b class='flag-5'>天</b>:【聲明文件】](https://file1.elecfans.com/web2/M00/C6/C5/wKgaomYCyYKAZp6HAAB4LWPdpdQ014.jpg)
鴻蒙TypeScript學(xué)習(xí)第20天:【模塊】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>20<b class='flag-5'>天</b>:【模塊】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙語言TypeScript學(xué)習(xí)第15天:【聯(lián)合類型】
![<b class='flag-5'>鴻蒙</b>語言<b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>15<b class='flag-5'>天</b>:【聯(lián)合<b class='flag-5'>類型</b>】](https://file1.elecfans.com/web2/M00/C5/CD/wKgZomYCdwyAIFf5AAB_7E1pFms943.jpg)
鴻蒙TypeScript學(xué)習(xí)第14天:【聯(lián)合類型】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>14<b class='flag-5'>天</b>:【聯(lián)合<b class='flag-5'>類型</b>】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙TypeScript 開發(fā)學(xué)習(xí)第9天:【TypeScript Number】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b> <b class='flag-5'>開發(fā)</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>9<b class='flag-5'>天</b>:【<b class='flag-5'>TypeScript</b> Number】](https://file1.elecfans.com/web2/M00/C5/CD/wKgZomYCdwyAIFf5AAB_7E1pFms943.jpg)
鴻蒙TypeScript入門學(xué)習(xí)第8天:【TypeScript 函數(shù)】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>8<b class='flag-5'>天</b>:【<b class='flag-5'>TypeScript</b> 函數(shù)】](https://file1.elecfans.com/web2/M00/C5/CD/wKgZomYCdwyAIFf5AAB_7E1pFms943.jpg)
鴻蒙TypeScript入門學(xué)習(xí)第6天:【條件語句】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>6<b class='flag-5'>天</b>:【條件語句】](https://file1.elecfans.com/web2/M00/C6/84/wKgZomYKR_aAbRPhAABW3F6g280594.png)
鴻蒙TypeScript入門學(xué)習(xí)第4天:【TS變量聲明】
鴻蒙TypeScript入門學(xué)習(xí)第2天【TypeScript安裝】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>2<b class='flag-5'>天</b>【<b class='flag-5'>TypeScript</b>安裝】](https://file1.elecfans.com/web2/M00/C6/DA/wKgaomYDxy2APS8FAABixqJ8Axg195.jpg)
評論