什么是數(shù)據(jù)類型斷言?
類型斷言和其它編程語言的類型轉(zhuǎn)換很像,可以將一種類型強(qiáng)制轉(zhuǎn)換成另外一種類型
-
類型斷言就是告訴編譯器,你不要幫我們檢查了,相信我,我知道自己在干什么
/*例如: 我們拿到了一個(gè)any類型的變量, 但是我們明確的知道這個(gè)變量中保存的是字符串類型,此時(shí)我們就可以通過類型斷言告訴編譯器,這個(gè)變量是一個(gè)字符串類型,我們就可以通過類型斷言將any類型轉(zhuǎn)換成string類型, 使用字符串類型中相關(guān)的方法了 */ let str:any = 'it666'; let len = str.length; // 在輸入length的時(shí)候沒有語法提示,因?yàn)榫幾g器不能確定改變是否有l(wèi)ength屬性 console.log(len)
使用類型斷言
-
方式一:
尖括號(hào)語法,(<轉(zhuǎn)化的數(shù)據(jù)類型目標(biāo)>轉(zhuǎn)化的變量名稱)let str:any = 'it666'; let len = (<string>str).length; console.log(len) // 不推薦使用這種方式,有兼容性問題,在使用到了JSX的時(shí)候兼容性不是很好 -
方式二:
as語法,(轉(zhuǎn)化的變量名稱 as 數(shù)據(jù)類型)let str:any = 'it666'; let len = (str as string).length console.log(len); // 推薦這種