跳到主要内容

第 4 章 · 类型收窄与守卫

:::info 占位页 本章正文撰写中(v1 里程碑)。以下是已敲定的学习目标、内容要点与练习清单。 :::

学习目标

  • 掌握 typeof / in / instanceof 操作符的类型收窄
  • 会写可辨识联合(discriminated union)并用穷尽检查(exhaustiveness)
  • 编写自定义类型守卫(is)与断言函数(asserts
  • 理解类型断言与收窄的区别

内容要点

  • 控制流分析与类型收窄
  • typeofininstanceof、等值判断收窄
  • 可辨识联合 + switch 穷尽检查
  • 自定义类型守卫 arg is T
  • 断言函数 asserts cond

本章练习

代码练习(非迁移)

  • 为可辨识联合写一个 switch 穷尽检查(含 never 兜底)
  • 编写 isXxx(arg): arg is Xxx 自定义守卫
  • 编写 asserts cond 断言函数
  • in 操作符收窄对象联合
  • 处理 typeofinstanceof 联合场景

💡 本章之后可了解 00043 Exclude 的题意,第 7 章学到条件类型与分布式后再动手解答。

TODO

  • 撰写正文(v1)