基础类型
- 布尔值—boolean
- 数字—number
- 字符串—string
- 枚举—enum
- 数组—array
- 元组
- Any
- Unknown
- viod
- Null 和 Undefined
- Never
- Object
- 类型断言
数组
let arr: number[] = [1,2,3];
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