1. 程式人生 > >TypeScript 之 基礎類型

TypeScript 之 基礎類型

情況下 strlen color 數據類型 oid check number -s 元組類型

  • https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Basic%20Types.html

  • TypeScript 的 基礎類型,包括:boolean、number、string、數組、Tuple(元組)、enum(枚舉)、any、void、null、undefined、類型斷言

  • 2種方式定義數組:
  1. 在元素類型後面接上[]
    let list: number[] = [1, 2, 3];
  2. 使用數組泛型,Array<元素類型>
    let list: Array<number> = [1, 2, 3];
  • 元組(Tuple):
    元組類型表示一個已知元素數量和類型的數組,各元素的類型不必相同。 比如,你可以定義一對值分別為string和number類型的元組。
// Declare a tuple type
let x: [string, number];
// Initialize it
x = [‘hello‘, 10]; // OK
  • enum類型是對JavaScript標準數據類型的一個補充。
enum Color {Red, Green, Blue};
let c: Color = Color.Green;
  • void:
    void類型的變量,只能為它賦予undefined和null

  • null 和 undefined
    默認情況下null和undefined是所有類型的子類型。 就是說你可以把null和undefined賦值給number類型的變量。
    然而,當你指定了--strictNullChecks標記,null和undefined只能賦值給void和它們各自。 這能避免很多常見的問題。 也許在某處你想傳入一個string或null或undefined,你可以使用聯合類型string | null | undefined。

  • 類型斷言
    類型斷言 告訴編譯器,“就要用我指定的類型”。
    類型斷言好比其它語言裏的類型轉換,但是不進行特殊的數據檢查和解構。 它沒有運行時的影響,只是在編譯階段起作用。 TypeScript會假設你,程序員,已經進行了必須的檢查。
    類型斷言有兩種形式。 其一是“尖括號”語法:
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;

兩種形式是等價的。然而,當你在TypeScript裏使用JSX時,只能使用 as語法斷言。

TypeScript 之 基礎類型