1、TypeScript 基礎類型
TypeScript 包含的數據類型如下表:
注意: TypeScript 和 JavaScript 沒有整數類型。
2、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;
3、Null 和 Undefined
null
在 JavaScript 中 null 表示 "什么都沒有"。
null是一個只有一個值的特殊類型。表示一個空對象引用。
用 typeof 檢測 null 返回是 object。
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; // 編譯正確
鴻蒙OS開發 | 更多內容↓點擊 | HarmonyOS與OpenHarmony技術 |
---|---|---|
鴻蒙技術文檔 | 開發知識更新庫gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md 在這。 | 或+mau123789學習,是v喔 |
4、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) {}
}
審核編輯 黃宇
-
HarmonyOS
+關注
關注
79文章
2052瀏覽量
32106 -
OpenHarmony
+關注
關注
26文章
3820瀏覽量
18111 -
鴻蒙OS
+關注
關注
0文章
191瀏覽量
4873
發布評論請先 登錄
鴻蒙北向開發OpenHarmony5.0 DevEco Studio開發工具安裝與配置

#新年新氣象,大家新年快樂!#AIGC入門及鴻蒙入門
OpenHarmony源碼編譯后燒錄鏡像教程,RK3566鴻蒙開發板演示

OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發板演示

評論