天天看點

一起學習Ts吧ts的優勢類型系統結束語

其實TypeScript 是 JavaScript 的超集。并且類型系統是可選的,如果省略掉,那麼就是 JavaScript。

ts的優勢

TypeScript是微軟開發的一個開源的程式設計語言。可以通過Babel轉譯為JavaScript代碼,這樣就能運作在任何浏覽器,任何作業系統。

  1. TypeScript 增加了代碼的可讀性和可維護性。
  • 類型系統實際上是最好的文檔,通過類型的定義就知道變量的内容格式。
  • 編譯階段會檢查錯誤,減少運作報錯。
  • 增強了代碼補全,接口提示,跳轉到定義,重構等。
  1. TypeScript 相容性好
  • Typescript是帶類型的javascript的超集,完全相容js文法。
  • 不顯示的定義類型,也能夠自動做出類型推導。
  • 相容第三方庫,即使第三方庫不是用 TypeScript 寫的,也可以編寫單獨的類型檔案供 TypeScript 讀取。

類型系統

既然TypeScript是帶類型的js,那麼學習ts的核心,就是掌握類型系統。

  1. 原始類型:

    string

    number

    boolean

let num: number;
    let str: string;
    let bool: boolean;
           
  1. 數組。
letstrArray: string[];
           
  1. 接口:interface是 TypeScript 的一個核心知識,它能在一個類型聲明中合并衆多類型聲明。
interface Persion {
    name: string;
    age: number;
}
           
  1. 内聯類型:它與上面的接口不同,可以使用内聯注解文法注解任何内容。
let Persion: {
    name: string;
    age: number;
}
           
  1. 特殊類型。

    any

    、 

    null

    、 

    undefined

     以及 

    void

    • any:類型在 TypeScript 類型系統中占有特殊的地位。它提供給你一個類型系統的「後門」,TypeScript 将會把類型檢查關閉。
    • null 和 undefined: null 和 undefined 和 

      any

       類型的變量一樣,都能被指派給任意類型的變量。
    • void:

      :void

       用來表示沒有一個傳回值的函數。
function loggingIdentity<T>(arg: T): T { 
    console.log(arg.length); // Error: T doesn't have .length return arg;
}
           
  1. 聯合類型:變量可滿足多個類型,将不同類型以and關系連接配接。
let union: number | string | boolean;
           

結束語

繼續閱讀