最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

TypeScript中使用類(lèi)型斷言的幾種方式分享

 更新時(shí)間:2023年09月18日 09:56:43   作者:思路大于開(kāi)發(fā)  
在TypeScript中,類(lèi)型斷言用于告訴編譯器某個(gè)變量的類(lèi)型,這在我們確定變量的類(lèi)型比編譯器更準(zhǔn)確時(shí)非常有用,本文給大家分享了幾種TypeScript中使用類(lèi)型斷言方式,需要的朋友可以參考下

正文

  • 為什么需要類(lèi)型斷言

盡管類(lèi)型推斷很智能,但同時(shí)也很死板,不懂得變通。如果嚴(yán)格按照推斷來(lái)定義類(lèi)型可能會(huì)讓開(kāi)發(fā)者付出一些額外的卻有不必要的工作與精力。事實(shí)上,開(kāi)發(fā)者在不犯錯(cuò)的情況下,往往比編譯器更清楚自己想要的類(lèi)型,因此需要一種手段來(lái)繞過(guò)默認(rèn)的推導(dǎo)行為

  • 如何斷言

1.as

通過(guò)as關(guān)鍵字,可以強(qiáng)制將一個(gè)類(lèi)型斷言為另一個(gè)類(lèi)型。如下,將Ani斷言為Spp

2.as const

TypeScript中,let聲明的變量具有更寬泛的類(lèi)型推導(dǎo)

const則范圍更小

下邊是一個(gè)與聯(lián)合類(lèi)型結(jié)合使用的例子。由于s表示的是一個(gè)更寬泛的number類(lèi)型,number又是1|2的父類(lèi)型,從而產(chǎn)生報(bào)錯(cuò)

此時(shí),只需要將s替換為ss,由于ss表示的是子類(lèi)型,根據(jù)協(xié)變特性,子類(lèi)型可以代替父類(lèi)型使用

3.非空斷言

當(dāng)我們明確在一定條件下,某個(gè)對(duì)象的某個(gè)key一定存在時(shí),可以通過(guò)!進(jìn)行標(biāo)記

  • 斷言的條件

斷言與any不同,它必須在一定的條件和范圍內(nèi)才能實(shí)現(xiàn)類(lèi)型的互換,如下,兩個(gè)不相干的類(lèi)型之間無(wú)法斷言

斷言的前提條件是兩個(gè)類(lèi)型之間存在父子關(guān)系,能夠產(chǎn)生協(xié)變或者逆變

  • 超越斷言規(guī)則的斷言

由于unknowany的子類(lèi)型,而any又是任意類(lèi)型的父類(lèi)型,因此通過(guò)此中轉(zhuǎn),可以完成任意類(lèi)型的斷言轉(zhuǎn)換

如果本文對(duì)您有用,希望能得到您的點(diǎn)贊和收藏

到此這篇關(guān)于TypeScript中使用類(lèi)型斷言的幾種方式分享的文章就介紹到這了,更多相關(guān)TypeScript類(lèi)型斷言的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • webpack3升級(jí)到webpack4遇到問(wèn)題總結(jié)

    webpack3升級(jí)到webpack4遇到問(wèn)題總結(jié)

    這篇文章主要介紹了webpack3升級(jí)到webpack4遇到問(wèn)題總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 使用正則替換變量

    使用正則替換變量

    使用正則替換變量...
    2007-05-05
  • js大數(shù)相加出現(xiàn)精度丟失、運(yùn)算錯(cuò)誤的問(wèn)題

    js大數(shù)相加出現(xiàn)精度丟失、運(yùn)算錯(cuò)誤的問(wèn)題

    js中數(shù)字類(lèi)型長(zhǎng)度達(dá)到16位時(shí),進(jìn)行加減乘除運(yùn)算,會(huì)出現(xiàn)精度丟失,運(yùn)算結(jié)果錯(cuò)誤的問(wèn)題,本文講述精度丟失的原因及解決辦法
    2023-08-08
  • 詳解webpack進(jìn)階之loader篇

    詳解webpack進(jìn)階之loader篇

    本篇文章主要介紹了詳解webpack進(jìn)階之loader篇,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • JS簡(jiǎn)單實(shí)現(xiàn)tab切換效果的多窗口顯示功能

    JS簡(jiǎn)單實(shí)現(xiàn)tab切換效果的多窗口顯示功能

    這篇文章主要介紹了JS簡(jiǎn)單實(shí)現(xiàn)tab切換效果的多窗口顯示功能,可實(shí)現(xiàn)響應(yīng)鼠標(biāo)事件的文字切換顯示效果,涉及javascript頁(yè)面元素遍歷與樣式變換相關(guān)操作技巧,需要的朋友可以參考下
    2016-09-09
  • 利用JS實(shí)現(xiàn)窗口最大化和最小化效果

    利用JS實(shí)現(xiàn)窗口最大化和最小化效果

    在現(xiàn)代 Web 開(kāi)發(fā)中,JavaScript 提供了多種方法來(lái)與瀏覽器窗口進(jìn)行交互,包括最大化和最小化瀏覽器窗口,雖然瀏覽器通常會(huì)限制對(duì)窗口尺寸的直接控制,但我們依然可以實(shí)現(xiàn)一些常見(jiàn)的行為,本文將探討如何使用 JavaScript 實(shí)現(xiàn)窗口的最大化和最小化效果
    2024-12-12
  • layui form.render(''select'', ''test2'') 更新渲染的方法

    layui form.render(''select'', ''test2'') 更新渲染的方法

    今天小編就為大家分享一篇layui form.render('select', 'test2') 更新渲染的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 光標(biāo)的一些操作總結(jié)

    光標(biāo)的一些操作總結(jié)

    IE下的Range操作比Mozilla下強(qiáng)很多,這里只討論IE下的操作,這里選介紹幾個(gè)光標(biāo)定位的特點(diǎn)
    2006-10-10
  • 在element-ui的select下拉框加上滾動(dòng)加載

    在element-ui的select下拉框加上滾動(dòng)加載

    這篇文章主要介紹了在element-ui的select下拉框加上滾動(dòng)加載,本文以以element-ui中的select為例,給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2019-04-04
  • JavaScript和jQuery制作光棒效果

    JavaScript和jQuery制作光棒效果

    本文主要介紹了使用javaScript和jQuery制作光棒效果的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02

最新評(píng)論

富平县| 西丰县| 旌德县| 武安市| 临澧县| 宜兰市| 平定县| 通海县| 永胜县| 广州市| 兖州市| 达州市| 河南省| 东乌珠穆沁旗| 神池县| 金寨县| 乡宁县| 海南省| 长春市| 中西区| 霞浦县| 定边县| 肥城市| 博罗县| 凉城县| 大城县| 永城市| 五指山市| 花莲市| 武平县| 古蔺县| 犍为县| 福鼎市| 陵水| 永嘉县| 五华县| 怀柔区| 镶黄旗| 措美县| 高陵县| 湘潭市|