欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TypeScript?Typeof運(yùn)算符的5個(gè)實(shí)用技巧詳解

 更新時(shí)間:2022年10月24日 08:37:25   作者:github_is_geeksKai  
這篇文章主要為大家介紹了TypeScript?Typeof運(yùn)算符的5個(gè)實(shí)用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

在 JavaScript 中,你可以通過操作符獲取變量的類型typeof,那么你知道typeofTypeScript 中使用的是什么操作符嗎?在本文中,我將介紹 typeof 運(yùn)算符的 5 個(gè)常見應(yīng)用場(chǎng)景,你可能會(huì)在以后的項(xiàng)目中使用它們。

1.獲取對(duì)象的類型

對(duì)象是一個(gè)普通的manJavaScript 對(duì)象,在 TypeScript 中你可以使用類型或接口來定義對(duì)象的類型。使用這種對(duì)象類型,您可以使用 TypeScript 的內(nèi)置實(shí)用程序類型,例如 Partial、Required、Pick 或 Readonly,來處理對(duì)象類型以滿足不同的需求。

對(duì)于簡(jiǎn)單的對(duì)象,這可能沒什么大不了的。但是對(duì)于嵌套層次更深的大型復(fù)雜對(duì)象,手動(dòng)定義它們的類型可能會(huì)讓人麻木。要解決這個(gè)問題,可以使用 typeof 運(yùn)算符。

type Person = typeof man;
type Address = Person["address"];

與之前手動(dòng)定義類型相比,使用 typeof 運(yùn)算符變得容易得多。Person["address"]是一種索引訪問類型,用于在另一種類型(Person 類型)上查找特定屬性(地址)。

2.獲取一個(gè)將所有枚舉鍵表示為字符串的類型

在 TypeScript 中,枚舉類型是編譯成常規(guī) JavaScript 對(duì)象的特殊類型:

因此,您也可以typeof在枚舉類型上使用運(yùn)算符。但這通常沒有太大的實(shí)際用途,在處理枚舉類型時(shí),通常與keyof運(yùn)算符結(jié)合使用:

3.獲取函數(shù)對(duì)象的類型

還有另一種更常見的場(chǎng)景,在您的工作中使用 typeof 運(yùn)算符。獲取到對(duì)應(yīng)的函數(shù)類型后,可以繼續(xù)使用TypeScript內(nèi)置的ReturnTypeParameters實(shí)用類型分別獲取函數(shù)的返回值類型和參數(shù)類型。

4.獲取類對(duì)象的類型

既然typeof操作符可以處理函數(shù)對(duì)象,那么它可以處理Class對(duì)象嗎?答案是肯定的。

在上面的代碼中,createPoint是一個(gè)創(chuàng)建 Point 類實(shí)例的工廠函數(shù)。通過typeof操作符可以獲取Point類對(duì)應(yīng)的構(gòu)造簽名,從而實(shí)現(xiàn)對(duì)應(yīng)的類型校驗(yàn)。在定義Constructor的參數(shù)類型時(shí),如果沒有使用typeof操作符,會(huì)出現(xiàn)如下錯(cuò)誤信息:

5. 獲得更精確的類型

在使用typeof操作符的時(shí)候,如果你想得到更精確的類型,那么你可以將它與TypeScript 3.4 版本中引入的const 斷言結(jié)合起來。 這以以下方式使用。

從上圖可以看出,在使用了const assertion之后,再使用 typeof 操作符,我們可以得到更精確的類型。

以上就是TypeScript Typeof運(yùn)算符的5個(gè)實(shí)用技巧詳解的詳細(xì)內(nèi)容,更多關(guān)于TypeScript Typeof運(yùn)算符的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JS簡(jiǎn)單驗(yàn)證上傳文件類型的方法

    JS簡(jiǎn)單驗(yàn)證上傳文件類型的方法

    這篇文章主要介紹了JS簡(jiǎn)單驗(yàn)證上傳文件類型的方法,涉及javascript文件遍歷及字符串截取、匹配等相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • uni-app?PC端寬屏適配方案圖文詳解

    uni-app?PC端寬屏適配方案圖文詳解

    現(xiàn)在uni-app終于官方支持PC寬屏,下面這篇文章主要給大家介紹了關(guān)于uni-app?PC端寬屏適配方案的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • TypeScript創(chuàng)建一個(gè)簡(jiǎn)單Web應(yīng)用

    TypeScript創(chuàng)建一個(gè)簡(jiǎn)單Web應(yīng)用

    這篇文章主要為大家介紹了TypeScript創(chuàng)建一個(gè)簡(jiǎn)單Web應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 15款最好的Bootstrap在線編輯器

    15款最好的Bootstrap在線編輯器

    這篇文章主要為大家詳細(xì)介紹了15款最好的Bootstrap在線編輯器,15款在線編輯工具希望幫助大家更好的進(jìn)行開發(fā),感興趣的小伙伴們可以參考一下
    2016-08-08
  • js實(shí)現(xiàn)3D照片墻效果

    js實(shí)現(xiàn)3D照片墻效果

    這篇文章主要介紹了js實(shí)現(xiàn)3D照片墻效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • H5頁面跳轉(zhuǎn)小程序的3種實(shí)現(xiàn)方式

    H5頁面跳轉(zhuǎn)小程序的3種實(shí)現(xiàn)方式

    這篇文章主要給大家介紹了關(guān)于H5頁面跳轉(zhuǎn)小程序的3種實(shí)現(xiàn)方式,說出來你可能不信,每位商家?guī)缀醵紩?huì)h5轉(zhuǎn)跳到小程序、H5轉(zhuǎn)跳至小程序的應(yīng)用范圍十分廣闊,需要的朋友可以參考下
    2023-08-08
  • JavaScript和JQuery的鼠標(biāo)mouse事件冒泡處理

    JavaScript和JQuery的鼠標(biāo)mouse事件冒泡處理

    這篇文章主要介紹了JavaScript和JQuery的鼠標(biāo)mouse事件冒泡處理,本文總結(jié)出了mouse事件的一些定論,并分別給出了JavaScript和JQuery測(cè)試代碼,需要的朋友可以參考下
    2015-06-06
  • javascript window.onerror事件學(xué)習(xí)新收獲

    javascript window.onerror事件學(xué)習(xí)新收獲

    javascript window.onerror事件學(xué)習(xí)新收獲...
    2007-11-11
  • layui內(nèi)置模塊layim發(fā)送圖片添加加載動(dòng)畫的方法

    layui內(nèi)置模塊layim發(fā)送圖片添加加載動(dòng)畫的方法

    今天小編就為大家分享一篇layui內(nèi)置模塊layim發(fā)送圖片添加加載動(dòng)畫的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 微信小程序自定義Dialog彈框

    微信小程序自定義Dialog彈框

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義Dialog彈框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評(píng)論