0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙TypeScript開(kāi)發(fā)入門(mén)學(xué)習(xí)第3天:【TS基礎(chǔ)類型】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-28 15:02 ? 次閱讀

1、TypeScript 基礎(chǔ)類型

TypeScript 包含的數(shù)據(jù)類型如下表:

image.png

image.png

注意: 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)擊HarmonyOSOpenHarmony技術(shù)
鴻蒙技術(shù)文檔開(kāi)發(fā)知識(shí)更新庫(kù)gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在這。或+mau123789學(xué)習(xí),是v喔

搜狗高速瀏覽器截圖20240326151547.png

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) {}
}

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1966

    瀏覽量

    29962
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3635

    瀏覽量

    16061
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    4359
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙開(kāi)發(fā):【從TypeScript到ArkTS的適配規(guī)則】

    ArkTS通過(guò)規(guī)范約束了TypeScript(簡(jiǎn)稱TS)中過(guò)于靈活而影響開(kāi)發(fā)正確性或者給運(yùn)行時(shí)帶來(lái)不必要額外開(kāi)銷的特性
    的頭像 發(fā)表于 05-14 09:37 ?1825次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>:【從<b class='flag-5'>TypeScript</b>到ArkTS的適配規(guī)則】

    鴻蒙TypeScript學(xué)習(xí)21:【聲明文件】

    TypeScript 作為 JavaScript 的超集,在開(kāi)發(fā)過(guò)程中不可避免要引用其他第三方的 JavaScript 的庫(kù)。
    的頭像 發(fā)表于 04-19 15:02 ?506次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b>21<b class='flag-5'>天</b>:【聲明文件】

    鴻蒙TypeScript學(xué)習(xí)20:【模塊】

    TypeScript 模塊的設(shè)計(jì)理念是可以更換的組織代碼。 模塊是在其自身的作用域里執(zhí)行,并不是在全局作用域,這意味著定義在模塊里面的變量、函數(shù)和類等在模塊外部是不可見(jiàn)的,除非明確地使用 export 導(dǎo)出它們。類似地,我們必須通過(guò) import 導(dǎo)入其他模塊導(dǎo)出的變量、函數(shù)、類等。
    的頭像 發(fā)表于 04-18 15:19 ?681次閱讀
    <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>:【模塊】

    鴻蒙語(yǔ)言TypeScript學(xué)習(xí)18:【泛型】

    泛型(Generics)是一種編程語(yǔ)言特性,允許在定義函數(shù)、類、接口等時(shí)使用占位符來(lái)表示類型,而不是具體的類型。
    的頭像 發(fā)表于 04-16 14:56 ?330次閱讀
    <b class='flag-5'>鴻蒙</b>語(yǔ)言<b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>18<b class='flag-5'>天</b>:【泛型】

    鴻蒙語(yǔ)言TypeScript學(xué)習(xí)16:【類】

    TypeScript 支持面向?qū)ο蟮乃刑匦裕热?類、接口等。
    的頭像 發(fā)表于 04-15 09:29 ?952次閱讀
    <b class='flag-5'>鴻蒙</b>語(yǔ)言<b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>16<b class='flag-5'>天</b>:【類】

    鴻蒙語(yǔ)言TypeScript學(xué)習(xí)15:【聯(lián)合類型

    接口是一系列抽象方法的聲明,是一些方法特征的集合,這些方法都應(yīng)該是抽象的,需要由具體的類去實(shí)現(xiàn),然后第三方就可以通過(guò)這組抽象方法調(diào)用,讓具體的類執(zhí)行具體的方法。
    的頭像 發(fā)表于 04-14 09:49 ?570次閱讀
    <b class='flag-5'>鴻蒙</b>語(yǔ)言<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>】

    鴻蒙TypeScript學(xué)習(xí)14:【聯(lián)合類型

    聯(lián)合類型(Union Types)可以通過(guò)管道(|)將變量設(shè)置多種類型,賦值時(shí)可以根據(jù)設(shè)置的類型來(lái)賦值。
    的頭像 發(fā)表于 04-12 15:28 ?388次閱讀
    <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>】

    鴻蒙TypeScript學(xué)習(xí)13:【元組】

    元組中允許存儲(chǔ)不同類型的元素,元組可以作為參數(shù)傳遞給函數(shù)。
    的頭像 發(fā)表于 04-11 14:43 ?421次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>13<b class='flag-5'>天</b>:【元組】

    鴻蒙TypeScript入門(mén)學(xué)習(xí)11【Array(數(shù)組)】

    數(shù)組對(duì)象是使用單獨(dú)的變量名來(lái)存儲(chǔ)一系列的值。 數(shù)組非常常用。
    的頭像 發(fā)表于 04-09 14:38 ?1019次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門(mén)</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>11<b class='flag-5'>天</b>【Array(數(shù)組)】

    鴻蒙TypeScript 開(kāi)發(fā)學(xué)習(xí)9:【TypeScript Number】

    TypeScript 與 JavaScript 類似,支持 Number 對(duì)象。 Number 對(duì)象是原始數(shù)值的包裝對(duì)象。
    的頭像 發(fā)表于 04-07 18:02 ?751次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b> <b class='flag-5'>開(kāi)發(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】

    鴻蒙TypeScript入門(mén)學(xué)習(xí)8:【TypeScript 函數(shù)】

    函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語(yǔ)句。 您可以把代碼劃分到不同的函數(shù)中。如何劃分代碼到不同的函數(shù)中是由您來(lái)決定的,但在邏輯上,劃分通常是根據(jù)每個(gè)函數(shù)執(zhí)行一個(gè)特定的任務(wù)來(lái)進(jìn)行的。
    的頭像 發(fā)表于 04-03 14:54 ?375次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門(mén)</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ù)】

    鴻蒙TypeScript入門(mén)學(xué)習(xí)6:【條件語(yǔ)句】

    條件語(yǔ)句用于基于不同的條件來(lái)執(zhí)行不同的動(dòng)作。 TypeScript 條件語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True 或 False)來(lái)決定執(zhí)行的代碼塊。
    的頭像 發(fā)表于 04-01 13:51 ?704次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門(mén)</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>6<b class='flag-5'>天</b>:【條件語(yǔ)句】

    鴻蒙TypeScript入門(mén)學(xué)習(xí)4:【TS變量聲明】

    變量是一種使用方便的占位符,用于引用計(jì)算機(jī)內(nèi)存地址。 我們可以把變量看做存儲(chǔ)數(shù)據(jù)的容器。
    的頭像 發(fā)表于 03-29 14:49 ?1326次閱讀

    鴻蒙TypeScript入門(mén)學(xué)習(xí)2TypeScript安裝】

    本文介紹 TypeScript 環(huán)境的安裝。 我們需要使用到 npm 工具安裝,如果你還不了解 npm,可以參考我之前文檔。
    的頭像 發(fā)表于 03-27 15:22 ?447次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>入門(mén)</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>安裝】

    鴻蒙開(kāi)發(fā)之ArkTS基礎(chǔ)知識(shí)

    一、ArkTS簡(jiǎn)介 ArkTS是HarmonyOS優(yōu)選的主力應(yīng)用開(kāi)發(fā)語(yǔ)言。它在TypeScript(簡(jiǎn)稱TS)的基礎(chǔ)上,匹配了鴻蒙的ArkUI框架,擴(kuò)展了聲明式UI、狀態(tài)管理等相應(yīng)的能
    的頭像 發(fā)表于 01-24 16:44 ?2074次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>之ArkTS基礎(chǔ)知識(shí)