keyof 类似于 object.keys(), 用来取 interface 的key

    1. interface Person {
    2. name: string
    3. age: number
    4. }
    5. type keys = keyof Person
    6. // 相当于
    7. type keys = 'name' | 'age'

    使用 泛型 和 keyof 实现一个 get 函数

    1. interface Person {
    2. name: string
    3. age: number
    4. }
    5. const get<T extends Person, K extends keyof T> = (person: T, key: K): T[k] => {
    6. return person[key]
    7. }