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方法在運行時可能存在,但這里并不會檢查
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中啟用嚴格的空校驗(--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)為拋出異常或無法執(zhí)行到終止點(例如無限循環(huán)),示例代碼如下:
let x: never;
let y: number;
// 編譯錯誤,數(shù)字類型不能轉(zhuǎn)為 never 類型
x = 123;
// 運行正確,never 類型可以賦值給 never類型
x = (()= >{ throw new Error('exception')})();
// 運行正確,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)注
80文章
2153瀏覽量
36045 -
OpenHarmony
+關(guān)注
關(guān)注
33文章
3952瀏覽量
21098 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
193瀏覽量
5484
發(fā)布評論請先 登錄
鴻蒙生態(tài)·星光學(xué)堂鴻蒙應(yīng)用開發(fā)者培訓(xùn)第1期(長沙)成功舉辦!政企協(xié)同共育鴻蒙人才,助力區(qū)域數(shù)字產(chǎn)業(yè)
廣東宏展 TS2/TS3 冷熱沖擊試驗箱:從結(jié)構(gòu)到原理的全面解讀
迅為iTOP-Hi3516開發(fā)板驅(qū)動開發(fā)資料全面上線,構(gòu)建從入門到精通的完整學(xué)習(xí)路徑!
集裝箱儲能系統(tǒng)標準解析系列(二)|IEC TS 62933-3-1電能存儲系統(tǒng)的規(guī)劃和性能評估
學(xué)習(xí)物聯(lián)網(wǎng)怎么入門?
【HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實踐
【 HarmonyOS 5 入門系列 】鴻蒙HarmonyOS示例項目講解
開鴻開發(fā)板深度體驗:從開源鴻蒙開發(fā)到AI場景實踐
使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件
開源鴻蒙開發(fā)新體驗,開鴻Bot系列今日開啟預(yù)售!
【「零基礎(chǔ)開發(fā)AI Agent」閱讀體驗】+ 入門篇學(xué)習(xí)
tscircuit - 電路開發(fā)的 React 范式? 用TypeScript、React和 AI工具構(gòu)建電子產(chǎn)品
鴻蒙北向開發(fā)OpenHarmony5.0 DevEco Studio開發(fā)工具安裝與配置
鴻蒙TypeScript開發(fā)入門學(xué)習(xí)第3天:【TS基礎(chǔ)類型】
評論