问题库 JavaScript / TypeScript how-to

TypeScript Object.keys 为什么丢类型

快速答案

Object.keys 返回 string[],需要把 key 收窄为 keyof 对象类型。

js
const keys = Object.keys(user) as Array<keyof typeof user>;

使用要点

  • TypeScript 只在编译期提供保护,接口返回值仍要做运行时校验。
  • 类型收窄写清楚以后,再把数据交给业务函数,减少后续的断言。

相关内容