Skip to main content
· 4 min read

TS 基础类型 10 年没变,但 几个反直觉的细节 容易踩坑。

  • 原始类型:boolean / number / string / bigint / symbol / null / undefined
  • unknown > any必须先 narrow 才能用,比 any 安全
  • 三个长得像object / Object / {} 是三种不同类型
  • void 不只是 "无返回":也指代 undefined 这个值
  • Tuple 陷阱:长度不可越界,但 push() 能扩
· 4 min read

TS 类型兼容性核心是 结构化类型——多的可以赋值给少的,duck typing 是关键。

  • 核心规则:成员多的类型可以赋值给成员少的,反之不行
  • 特殊类型any 万能,never 万不能
  • 函数参数:默认双变,开 strictFunctionTypes 后变逆变
  • Class:私有成员相互不兼容(除继承外)
  • Generic:未实例化的泛型可以互相兼容
发文趋势
近 12 个月 · 共 116
89101112123456347