keyof 类似于 object.keys(), 用来取 interface 的key
interface Person {
name: string
age: number
}
type keys = keyof Person
// 相当于
type keys = 'name' | 'age'
使用 泛型 和 keyof 实现一个 get 函数
interface Person {
name: string
age: number
}
const get<T extends Person, K extends keyof T> = (person: T, key: K): T[k] => {
return person[key]
}