TypeScript 面试题
目录

请解释 TypeScript 中的 keyof any 的结果是什么?

· 约 1 分钟读完 · 第 138 / 256 章

推荐答案

keyof any 的结果是 string | number | symbol。

本题详细解读

在 TypeScript 中,keyof 是一个类型操作符,用于获取某个类型的所有键的联合类型。当 keyof 与 any 一起使用时,keyof any 表示获取 any 类型的所有可能的键类型。

由于 any 类型是 TypeScript 中最宽泛的类型,它可以表示任何类型的值。因此,keyof any 的结果是所有可能的键类型的联合类型,即 string | number | symbol。这是因为在 JavaScript 中,对象的键只能是字符串、数字或符号类型。

具体来说:

  • string:最常见的键类型,例如 obj["key"]。
  • number:虽然不常见,但 JavaScript 允许使用数字作为键,例如 obj[1]。
  • symbol:ES6 引入的符号类型也可以作为对象的键,例如 obj[Symbol.iterator]。

因此,keyof any 的结果是 string | number | symbol,表示所有可能的键类型。