1. 程式人生 > >Typescript(基礎型別)

Typescript(基礎型別)

定義變數

  • let name: string = “bob”;
    • let 變數名 :型別 = 賦值

基礎型別

  • 布林值 — boolean
    • ture / false
  • 數字— number
    • 都是浮點數
  • 字串 — string
    • 可以使用雙引號( “)或單引號(’)表示
  • 模版字串 [��]

    • 可以定義多行文字和內嵌表示式
    • 這種字串是被反引號包圍( `),並且以${ expr }這種形式嵌入表示式
    • 例如:
        let name: string = `Gene`;
        let age: number = 37;
        let sentence: string = `Hello, my
    name is ${ name }. I'll be ${ age + 1 } years old next month.`;
  • 陣列 — number[ ] — Array
    • 兩種方式定義陣列
      • 可以在元素型別後面接上 [],表示由此型別元素組成的一個數組
      • 使用陣列泛型,Array<元素型別>
  • 元祖 Tuple
    • let x: [string, number];
    • 當訪問一個越界的元素,會使用聯合型別替代
  • 列舉 — enum

    • 使用列舉型別可以為一組數值賦予友好的名字
    • 預設情況下,從0開始為元素編號。 你也可以手動的指定成員的數值。
        enum Color
    {Red = 1, Green, Blue} let c: Color = Color.Green;
    • 列舉型別提供的一個便利是你可以由列舉的值得到它的名字。 例如,我們知道數值為2,但是不確定它對映到Color裡的哪個名字,我們可以查詢相應的名字:
        enum Color {Red = 1, Green, Blue}
        let colorName: string = Color[2];
        alert(colorName);
  • 不清楚是什麼型別的變數 — any
  • 沒有任何型別 — void

    • 與any相反
    • 當一個函式沒有返回值時,你通常會見到其返回值型別是 void
    function warnUser(): void {
        alert("This is my warning message");
    }
  • Null 和 Undefined
    • undefined和null兩者各自有自己的型別分別叫做undefined和null。 和 void相似,它們的本身的型別用處不是很大
    • 預設情況下null和undefined是所有型別的子型別
    • 當你指定了–strictNullChecks標記,null和undefined只能賦值給void和它們各自
  • 永不存在的值的型別 — never
    • never型別是那些總是會丟擲異常或根本就不會有返回值的函式表示式或箭頭函式表示式的返回值型別; 變數也可能是 never型別,當它們被永不為真的型別保護所約束時。
    • never型別是任何型別的子型別,也可以賦值給任何型別;然而,沒有型別是never的子型別或可以賦值給never型別(除了never本身之外)。 即使 any也不可以賦值給never
  • 型別斷言

    • 型別斷言好比其它語言裡的型別轉換,但是不進行特殊的資料檢查和解構。 它沒有執行時的影響,只是在編譯階段起作用。
    • 型別斷言有兩種形式

      • 其一是“尖括號”語法:
      let someValue: any = "this is a string";
      let strLength: number = (<string>someValue).length;
      • 另一個為as語法:
        let someValue: any = "this is a string";
        
        let strLength: number = (someValue as string).length;