TypeScript-05-數(shù)據(jù)類型斷言

什么是數(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);
    
    // 推薦這種
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容