ts中 any、unknown、never 、void的區別


any、unknown、never 、void的區別

  • any 表示任意類型,設置為any相當於對該變量關閉了TS的類型檢測。不建議使用

    let a;(隱式any) //聲明變量不賦值,就是any 等效於let a:any = 10;(顯示any)
    a=10
    a='hello'
    區別:
    let s= string //給s變量設置類型string
    s = a; //a是any類型,它可以賦值給任意變量 此時s的類型也被影響了
    
  • unknown 表示未知的類型

    let b:unknown;
    b=10;
    b="hello";
    區別:
    let s= string //給s變量設置類型string
    s = b; //b是unknown 此時s的類型不會被影響。代碼會報錯
    

    總結:any和unknown相同點在於都是可以賦值不同的值,區別在於如果把unknown類型的值賦值給別的類型會報錯。

  • never 表示永遠不會返回結果

    function fn():never {
    	throw new Error ('報錯了') //報錯時程序結束運行,不會有返回值
    }
    
  • void 表式空,以函數為例,表示沒有返回值的函數

    function fn():void {}
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM