TypeScript_keyof的使用

keyof 用来获取一个类型的“所有键名”,形成联合类型。

它把对象类型的属性名“提取”出来,用作类型操作。

基本用法

interface Person {
  name: string
  age: number
}

type PersonKeys = keyof Person
  • PersonKeys 类型 = 'name' | 'age'

示例:限制函数参数为对象键

function getValue<T, K extends keyof T>(obj: T, key: K) {
  return obj[key]
}

const p: Person = { name: 'Alice', age: 25 }

getValue(p, 'name') // 
getValue(p, 'age')  // 
// getValue(p, 'gender') // 错误
posted @ 2026-02-02 13:18  Syinho  阅读(15)  评论(0)    收藏  举报