基础类型

  • 布尔值—boolean
  • 数字—number
  • 字符串—string
  • 枚举—enum
  • 数组—array
  • 元组
  • Any
  • Unknown
  • viod
  • Null 和 Undefined
  • Never
  • Object
  • 类型断言

数组

  1. let arr: number[] = [1,2,3];
  2. let arr: <Array>number = [1,2,3];

枚举

enum Color { red, green, yellow }

let c: Color = Color.red

Void

function warnUser(): void {
  console.log("This is my warning message");
}

声明一个void类型的变量没有什么大用,因为你只能为它赋予undefined和null:

let unusable: void = undefined;

默认情况下null和undefined是所有类型的子类型。

Never

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

// 推断的返回值类型为never
function fail() {
    return error("Something failed");
}

// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
    while (true) {
    }
}

Object

declare function create(o: object | null): void;

create({ prop: 0 }); // OK
create(null); // OK

create(42); // Error
create("string"); // Error
create(false); // Error
create(undefined); // Error