keyof

2020-08-24  本文已影响0人  一土二月鸟
interface User {
  name: string;
  age: number;
  work: string;
}

function test<T, Key extends keyof T> (obj: T, key: Key): T[Key] {
  return obj[key];
}

test({
  name: 'w',
  age: 1,
  work: 'w'
}, 'name');
interface User {
  name: string;
  age: number;
  work: string;
}

type UserKey = keyof User;

function test (obj: User, key: UserKey): User[UserKey] {
  return obj[key];
}

test({
  name: 'w',
  age: 1,
  work: 'w'
}, 'name')
上一篇 下一篇

猜你喜欢

热点阅读