TypeScript 的 any、unknown 与 never

typescript/special_types2026-10-16 11:56:54

TypeScript 的 any、unknown 与 never分别用于表达跳过部分类型检查、尚未确定的输入类型及不可能出现的值,三者不能互相等同。

检查与使用边界

  • any 会绕过许多类型检查,并把风险传播到后续表达式。
  • unknown 可以接收任意值,但使用前必须检查或收窄,适合作为尚未验证的外部输入类型。
  • never 表示不可能出现的值,可用于穷尽分支检查。

类型断言 as T 不会在运行时验证数据。接口响应、存储数据和用户输入仍需要运行时校验;TypeScript 的静态类型通常在输出 JavaScript 时被擦除。

参考:TypeScript 官方日常类型文档、类型收窄与 never。

本页目录