TypeScript中使用類型斷言的幾種方式分享
正文
- 為什么需要類型斷言
盡管類型推斷很智能,但同時也很死板,不懂得變通。如果嚴格按照推斷來定義類型可能會讓開發(fā)者付出一些額外的卻有不必要的工作與精力。事實上,開發(fā)者在不犯錯的情況下,往往比編譯器更清楚自己想要的類型,因此需要一種手段來繞過默認的推導行為
- 如何斷言
1.as
通過as關鍵字,可以強制將一個類型斷言為另一個類型。如下,將Ani
斷言為Spp
2.as const
在TypeScript
中,let
聲明的變量具有更寬泛的類型推導
而const
則范圍更小
下邊是一個與聯(lián)合類型結(jié)合使用的例子。由于s
表示的是一個更寬泛的number
類型,number
又是1|2
的父類型,從而產(chǎn)生報錯
此時,只需要將s
替換為ss
,由于ss
表示的是子類型,根據(jù)協(xié)變特性,子類型可以代替父類型使用
3.非空斷言
當我們明確在一定條件下,某個對象的某個key
一定存在時,可以通過!
進行標記
- 斷言的條件
斷言與any不同,它必須在一定的條件和范圍內(nèi)才能實現(xiàn)類型的互換,如下,兩個不相干的類型之間無法斷言
斷言的前提條件是兩個類型之間存在父子關系,能夠產(chǎn)生協(xié)變或者逆變
- 超越斷言規(guī)則的斷言
由于unknow
是any
的子類型,而any
又是任意類型的父類型,因此通過此中轉(zhuǎn),可以完成任意類型的斷言轉(zhuǎn)換
如果本文對您有用,希望能得到您的點贊和收藏
到此這篇關于TypeScript中使用類型斷言的幾種方式分享的文章就介紹到這了,更多相關TypeScript類型斷言的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
jQuery實現(xiàn)動態(tài)生成表格并為行綁定單擊變色動作的方法
這篇文章主要介紹了jQuery實現(xiàn)動態(tài)生成表格并為行綁定單擊變色動作的方法,涉及jQuery頁面元素遍歷與事件動態(tài)響應相關操作技巧,需要的朋友可以參考下2017-04-04JS實現(xiàn)線性表的鏈式表示方法示例【經(jīng)典數(shù)據(jù)結(jié)構(gòu)】
這篇文章主要介紹了JS實現(xiàn)線性表的鏈式表示方法,簡單講解了線性表鏈式表示的原理并結(jié)合實例形式分析了js針對線性表鏈式表示的創(chuàng)建、插入、刪除等節(jié)點操作技巧,需要的朋友可以參考下2017-04-04JS及JQuery對Html內(nèi)容編碼,Html轉(zhuǎn)義
本文主要介紹了JS及JQuery對Html內(nèi)容編碼,Html轉(zhuǎn)義的方法。具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02