国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【TypeScript】類(lèi)型推斷與類(lèi)型別名的使用方式。

這篇具有很好參考價(jià)值的文章主要介紹了【TypeScript】類(lèi)型推斷與類(lèi)型別名的使用方式。。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【TypeScript】類(lèi)型推斷與類(lèi)型別名的使用方式。,TypeScript,typescript,javascript,前端

什么是類(lèi)型推斷?

在 TypeScript 中, 如果聲明變量時(shí),沒(méi)有明確的指定類(lèi)型,那么 TypeScript 會(huì)依照類(lèi)型推論(Type Inference)的規(guī)則推斷出一個(gè)類(lèi)型。

以下代碼雖然沒(méi)有明確指定類(lèi)型,但是會(huì)在編譯的時(shí)候報(bào)錯(cuò):

let myiten = "字符串"

myiten = 123

【TypeScript】類(lèi)型推斷與類(lèi)型別名的使用方式。,TypeScript,typescript,javascript,前端
事實(shí)上,它等價(jià)于:

let myiten:string = "字符串"

myiten = 123

TypeScript 會(huì)在沒(méi)有明確的指定類(lèi)型的時(shí)候,可以根據(jù)初始化默認(rèn)賦值的類(lèi)型,推測(cè)出一個(gè)類(lèi)型,默認(rèn)把初始值的類(lèi)型,就當(dāng)做變量的類(lèi)型,這就是類(lèi)型推論。


如果定義的時(shí)候沒(méi)有明確指定類(lèi)型,并且也沒(méi)有初始化賦值,那么不管之后有沒(méi)有賦值,都會(huì)被推斷成 any 類(lèi)型而完全不被類(lèi)型檢查:

let myiten

myiten = false;
myiten = undefined;
myiten = "字符串";
console.log(myiten.length); //不會(huì)報(bào)錯(cuò)
myiten = 123;
console.log(myiten.length);  //這里會(huì)報(bào)錯(cuò),因?yàn)?myiten 已經(jīng)不再是 String了,類(lèi)型已經(jīng)被更改了,如果再讀取 字符串的方法,就會(huì)報(bào)錯(cuò)。

作為函數(shù)時(shí),如果沒(méi)有手動(dòng)指定返回值類(lèi)型,則也會(huì)根據(jù)我們的 實(shí)際返回值,進(jìn)而推斷出返回值類(lèi)型。
【TypeScript】類(lèi)型推斷與類(lèi)型別名的使用方式。,TypeScript,typescript,javascript,前端


類(lèi)型別名

語(yǔ)法:type 別名 = 類(lèi)型

  • 類(lèi)型別名概念:主要用來(lái)給一個(gè)給較為復(fù)雜的類(lèi)型起個(gè)新名字。
  • 作用:把多個(gè)類(lèi)型合并為一個(gè)類(lèi)型
  • 好處:簡(jiǎn)化和復(fù)用類(lèi)型

上案例:

數(shù)組定義類(lèi)型時(shí)采用,類(lèi)型別名

type TypeItem = (string | number);  //給類(lèi)型自定義名稱(chēng)
type str = boolean | number | Boolean; //給類(lèi)型自定義整合名稱(chēng)


let arr: TypeItem[] = [456]; //給變量直接賦值類(lèi)型別名

let arr1: Array<str> = [123, false];//給變量直接賦值類(lèi)型別名

let arr2: Array<(TypeItem)> = [123, "字符串"];//給變量直接賦值類(lèi)型別名


type un = TypeItem | str;  //甚至還可以通過(guò)type 將多個(gè)類(lèi)型別名進(jìn)行再次整合。

let arrun: Array<un> = [789, "array", false];  //給變量賦值類(lèi)型別名二次整合后的。

當(dāng)類(lèi)型別名運(yùn)用在普通變量和函數(shù)身上時(shí):

type TypeItem = (string | number);

type str = boolean | null;

type un = TypeItem | str;


//類(lèi)型別名用在普通變量身上
let a: un = false;
a = null;
a = false;
a = 456;
a = "fe";
a = {}  //會(huì)報(bào)錯(cuò),所屬類(lèi)型不包含 OBJ{}   //不能將類(lèi)型“{}”分配給類(lèi)型"“un”。


//類(lèi)型別名用在函數(shù)身上
function fn(a: un, b: un): un {

    return {}  //會(huì)報(bào)錯(cuò),返回值所屬類(lèi)型不包含 OBJ{}   //不能將類(lèi)型“{}”分配給類(lèi)型"“un”。

}

類(lèi)型別名常用于聯(lián)合類(lèi)型。作用好處是,簡(jiǎn)化和復(fù)用類(lèi)型。

總結(jié):
本章節(jié)給大家介紹了在 【TypeScript】 中 類(lèi)型推斷的解讀,以及定義類(lèi)型別名的使用方式。


???♂? 博主座右銘:向陽(yáng)而生,我還在路上!
——————————————————————————————
??博主想說(shuō):將持續(xù)性為社區(qū)輸出自己的資源,同時(shí)也見(jiàn)證自己的進(jìn)步!
——————————————————————————————
???♂? 如果都看到這了,博主希望留下你的足跡!【??收藏!??點(diǎn)贊!??評(píng)論!】
——————————————————————————————文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-603983.html

到了這里,關(guān)于【TypeScript】類(lèi)型推斷與類(lèi)型別名的使用方式。的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • TypeScript 類(lèi)型別名(Type Aliases)

    在 TypeScript 中,類(lèi)型別名(Type Aliases)是一種給現(xiàn)有類(lèi)型起別名的方式。它可以幫助提高代碼的可讀性和可維護(hù)性,尤其是當(dāng)你需要使用復(fù)雜或重復(fù)的類(lèi)型注解時(shí)。 基本使用 本段代碼使用了類(lèi)型別名? N1 ?來(lái)表示一個(gè)可以是? number 、 string ?或者? boolean ?類(lèi)型的聯(lián)合類(lèi)型。接

    2024年02月13日
    瀏覽(20)
  • TypeScript 學(xué)習(xí)筆記(二):接口與類(lèi)型別名、字面量類(lèi)型

    TypeScript 學(xué)習(xí)筆記(二):接口與類(lèi)型別名、字面量類(lèi)型

    在面向?qū)ο蟮木幊讨?,接口是一種規(guī)范的定義,它定義了行為和動(dòng)作的規(guī)范,在程序設(shè)計(jì)里面,接口起到一種限制和規(guī)范的作用。接口定義了某一批類(lèi)所需要遵守的規(guī)范,接口不關(guān)心這些類(lèi)的內(nèi)部狀態(tài)數(shù)據(jù),也不關(guān)心這些類(lèi)里方法的實(shí)現(xiàn)細(xì)節(jié),它只規(guī)定這批類(lèi)里必須提供某些

    2024年02月16日
    瀏覽(24)
  • typeScript中的類(lèi)型斷言和類(lèi)型別名、字符串字面量類(lèi)型

    目錄 1.類(lèi)型斷言 語(yǔ)法 ?2.類(lèi)型斷言的用途 2.1?將一個(gè)聯(lián)合類(lèi)型斷言為其中一個(gè)類(lèi)型? ?2.2 將一個(gè)父類(lèi)斷言為更加具體的子類(lèi) ?2.3?將任何一個(gè)類(lèi)型斷言為?any 2.4?將?any?斷言為一個(gè)具體的類(lèi)型 類(lèi)型斷言的限制 雙重?cái)嘌?類(lèi)型斷言 vs 類(lèi)型轉(zhuǎn)換 類(lèi)型斷言 vs 類(lèi)型聲明 類(lèi)型斷言 vs

    2024年02月04日
    瀏覽(20)
  • TypeScript類(lèi)型系統(tǒng):強(qiáng)類(lèi)型的優(yōu)勢(shì)和使用方式

    在上一篇文章《TypeScript入門(mén)指南:從JS到TS的轉(zhuǎn)變》 中,已經(jīng)向大家說(shuō)明了 TypeScript 是一種靜態(tài)類(lèi)型的編程語(yǔ)言,它的 類(lèi)型系統(tǒng) 是它的重要特性之一。TypeScript 的類(lèi)型系統(tǒng)可以提供一些強(qiáng)大的優(yōu)勢(shì),可以幫助開(kāi)發(fā)人員編寫(xiě) 更健壯 、 更可維護(hù) 和 更易于理解 的代碼。 從這一

    2024年02月09日
    瀏覽(22)
  • TypeScript:為什么JavaScript需要類(lèi)型檢查?

    JavaScript是當(dāng)今最為流行的編程語(yǔ)言之一。它是一種高級(jí)的、解釋性的編程語(yǔ)言,用于Web應(yīng)用程序的開(kāi)發(fā)。然而,JavaScript的靈活性也是它的弱點(diǎn)之一。JavaScript中的變量、函數(shù)、類(lèi)等都是動(dòng)態(tài)類(lèi)型,這意味著它們的類(lèi)型可以在運(yùn)行時(shí)發(fā)生變化。雖然這種靈活性為JavaScript開(kāi)發(fā)人員

    2024年02月04日
    瀏覽(22)
  • TypeScript:賦予JavaScript數(shù)據(jù)類(lèi)型新的力量,提升編程效率!

    TypeScript:賦予JavaScript數(shù)據(jù)類(lèi)型新的力量,提升編程效率!

    ?? 岸邊的 風(fēng): 個(gè)人主頁(yè) ??? ?個(gè)人專(zhuān)欄? : 《 VUE 》?《 javaScript 》 ??? 生活的理想,就是為了理想的生活?! ? TypeScript: 擴(kuò)展 JavaScript 數(shù)據(jù)類(lèi)型,賦予編程更強(qiáng)大的表達(dá)能力! 在現(xiàn)代Web開(kāi)發(fā)中, TypeScript 已經(jīng)成為了一種備受歡迎的編程語(yǔ)言。它不僅繼承了 JavaScript 的

    2024年02月09日
    瀏覽(52)
  • TypeScript判斷對(duì)象類(lèi)型的四種方式

    TypeScript判斷對(duì)象類(lèi)型的四種方式

    一、typeof 二、 instanceof 三、 constructor 四、 Object.prototype.toString() 使用案例: ?

    2024年02月13日
    瀏覽(22)
  • 【TypeScript】接口類(lèi)型 Interfaces 的使用理解

    【TypeScript】接口類(lèi)型 Interfaces 的使用理解

    導(dǎo)語(yǔ) : 什么是 類(lèi)型接口 ? 在面向?qū)ο笳Z(yǔ)言中 ,接口 (Interfaces) 是一個(gè)很重要的概念,它是對(duì)行為的抽象,而具體如何行動(dòng)需要由類(lèi)(classes)去實(shí)現(xiàn)(implement)。TypeScript 中的 類(lèi)型接口 是一個(gè)非常靈活的概念,除了可用于 對(duì)類(lèi)的一部分行為進(jìn)行抽象 以外,也常用于對(duì)「

    2024年02月15日
    瀏覽(23)
  • Buf 教程 - 使用 Protobuf 生成 Golang 代碼和 Typescript 類(lèi)型定義

    Buf 教程 - 使用 Protobuf 生成 Golang 代碼和 Typescript 類(lèi)型定義

    Buf 是一款更高效、開(kāi)發(fā)者友好的 Protobuf API 管理工具,不僅支持代碼生成,還支持插件和 Protobuf 格式化。 我們可以使用 Buf 替代原本基于 Protoc 的代碼生成流程,一方面可以統(tǒng)一管理團(tuán)隊(duì) Protoc 插件的版本、代碼生成配置,另一方面可以簡(jiǎn)化項(xiàng)目開(kāi)發(fā)配置。 本文將會(huì)用兩部分

    2024年02月08日
    瀏覽(47)
  • 在 TypeScript 中有效地使用 keyof 和 typeof 來(lái)表示類(lèi)型

    在 TypeScript 中有效地使用 keyof 和 typeof 來(lái)表示類(lèi)型

    在本文中,我們將學(xué)習(xí)如何通過(guò)組合類(lèi)型運(yùn)算符和枚舉來(lái)提取和聲明常量類(lèi)型 typeof ,以使您的代碼庫(kù)得到優(yōu)化。 keyof 為了獲得更好的編碼體驗(yàn),您應(yīng)該在 IDE 中安裝 TypeScript,例如VSCode。它將為您提供許多基本功能,例如錯(cuò)誤突出顯示、IntelliSense、linting 等...您還應(yīng)該安裝一

    2024年02月11日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包