基础类型
TS 的基础类型覆盖 JS 的全部数据类型,并加上了一些编译期才有的类型。
基础类型清单
- number / string / boolean:数字、字符串、布尔
- 数组:number[] 或 Array<number>
- 元组:[string, number] 固定长度和类型
- enum:枚举(一组命名常量)
- any:任意类型(尽量少用)
- unknown:未知类型(要先判断再用)
- void:函数无返回值
- null / undefined
类型推断
变量初始化时 TS 会自动推断类型,不用每个都写。let 会根据赋值推断,const 推断为字面量类型。
代码示例
// 基础类型
const name: string = "张三";
const age: number = 25;
const isVip: boolean = true;
const scores: number[] = [90, 85, 76];
const tuple: [string, number] = ["张三", 25];
// 枚举
enum Color { Red, Green, Blue }
const c: Color = Color.Green;
// unknown 需要收窄
let data: unknown = fetchData();
if (typeof data === "string") {
console.log(data.toUpperCase());
}
// 类型推断
let x = 10; // x: number,不用写
const y = "hi"; // y: "hi"