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

TypeScript中使用類型斷言的幾種方式分享

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

正文

  • 為什么需要類型斷言

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

  • 如何斷言

1.as

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

2.as const

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

const則范圍更小

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

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

3.非空斷言

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

  • 斷言的條件

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

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

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

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

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

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

相關(guān)文章

  • 微信瀏覽器下拉黑邊解決方案 wScroollFix

    微信瀏覽器下拉黑邊解決方案 wScroollFix

    這篇文章主要介紹了微信瀏覽器下拉黑邊解決方案 wScroollFix,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • jQuery實(shí)現(xiàn)動(dòng)態(tài)生成表格并為行綁定單擊變色動(dòng)作的方法

    jQuery實(shí)現(xiàn)動(dòng)態(tài)生成表格并為行綁定單擊變色動(dòng)作的方法

    這篇文章主要介紹了jQuery實(shí)現(xiàn)動(dòng)態(tài)生成表格并為行綁定單擊變色動(dòng)作的方法,涉及jQuery頁面元素遍歷與事件動(dòng)態(tài)響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • JavaScript腳本性能優(yōu)化注意事項(xiàng)

    JavaScript腳本性能優(yōu)化注意事項(xiàng)

    本文總結(jié)了我在JavaScript編程中所找到的提高JavaScript運(yùn)行性能的一些方法,其實(shí)這些經(jīng)驗(yàn)都基于幾條原則
    2008-11-11
  • Weex開發(fā)之地圖篇的具體使用

    Weex開發(fā)之地圖篇的具體使用

    這篇文章主要介紹了Weex開發(fā)之地圖篇的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • JS實(shí)現(xiàn)線性表的鏈?zhǔn)奖硎痉椒ㄊ纠窘?jīng)典數(shù)據(jù)結(jié)構(gòu)】

    JS實(shí)現(xiàn)線性表的鏈?zhǔn)奖硎痉椒ㄊ纠窘?jīng)典數(shù)據(jù)結(jié)構(gòu)】

    這篇文章主要介紹了JS實(shí)現(xiàn)線性表的鏈?zhǔn)奖硎痉椒?簡單講解了線性表鏈?zhǔn)奖硎镜脑聿⒔Y(jié)合實(shí)例形式分析了js針對線性表鏈?zhǔn)奖硎镜膭?chuàng)建、插入、刪除等節(jié)點(diǎn)操作技巧,需要的朋友可以參考下
    2017-04-04
  • Javascript的并行運(yùn)算實(shí)現(xiàn)代碼

    Javascript的并行運(yùn)算實(shí)現(xiàn)代碼

    隨著多核cpu的普級(jí),并發(fā)/并行多線程運(yùn)算在主流的編程語言越來越流行,而在目前Javascript實(shí)現(xiàn)中還看不到在語言方面支持多線程,現(xiàn)在Javascript如此流行,真希望今后會(huì)在語言的層面有很大的變化.
    2010-11-11
  • JS中的Select框?qū)崿F(xiàn)模糊搜索功能

    JS中的Select框?qū)崿F(xiàn)模糊搜索功能

    本文通過實(shí)例代碼介紹JS中的Select框?qū)崿F(xiàn)模糊搜索功能,下面是使用JavaScript來實(shí)現(xiàn)模糊搜索的功能,代碼分為html部分和javascript部分,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • JS及JQuery對Html內(nèi)容編碼,Html轉(zhuǎn)義

    JS及JQuery對Html內(nèi)容編碼,Html轉(zhuǎn)義

    本文主要介紹了JS及JQuery對Html內(nèi)容編碼,Html轉(zhuǎn)義的方法。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • setTimeout時(shí)間設(shè)置為0詳細(xì)解析

    setTimeout時(shí)間設(shè)置為0詳細(xì)解析

    setTimeout( ) 是屬于 window 的 method, 但我們都是略去 window 這頂層容器名稱, 這是用來設(shè)定一個(gè)時(shí)間, 時(shí)間到了, 就會(huì)執(zhí)行一個(gè)指定的 method,下面這篇文章主要給大家介紹了關(guān)于setTimeout時(shí)間設(shè)置為0的相關(guān)資料,需要的朋友可以參考下。
    2018-03-03
  • 解決JS請求服務(wù)器gbk文件亂碼的問題

    解決JS請求服務(wù)器gbk文件亂碼的問題

    本文給大家介紹js請求服務(wù)器gbk文件亂碼問題,解決辦法需要設(shè)置xhr.overrideMimeType("text/csv;charset=gb2312");才正確,具體代碼怎么設(shè)置,將在本文中給大家提到,需要的朋友一起學(xué)習(xí)吧
    2015-10-10

最新評論