unknown(顶类型:万物皆可赋给它)
│
┌──────────┬────────┼──────────┬─────────────┐
│ │ │ │ │
原始类型 object void null / undefined (特殊:any)
│ │
│ ├─ 数组 T[]
│ │ └─ 元组 [string, number]
│ ├─ 函数 (a: number) => void
│ ├─ 类 class / 接口 interface
│ └─ 普通对象 { name: string }
│
├─ string
│ └─ 字符串字面量 "red" | "green"
├─ number / enum
│ └─ 数字字面量 200 | 404
├─ boolean
│ └─ 字面量 true / false
├─ bigint
└─ symbol
└─ unique symbol
never(可赋给一切,无任何值)
向上兼容(子类型 → 父类型,永远安全):
const s: string = "hello"; // 字面量 → string ✅ const u: unknown = "hello"; // string → unknown ✅(万物皆可进 unknown) const arr: object = [1, 2]; // 数组 → object ✅