TypeScript中的keyof与Pick结合如何使用

蜗牛 互联网技术资讯 2024-07-10 13 0

在TypeScript中,keyof是一个操作符,用来获取一个类型的所有键的联合类型。而Pick是一个泛型工具类型,用来从一个给定类型中选取部分属性并创建一个新的类型。

结合使用keyofPick可以实现从一个接口中选取部分属性的需求。下面是一个示例代码:

interface Person {
  name: string;
  age: number;
  address: string;
}

// 使用keyof获取Person接口的所有键的联合类型
type PersonKeys = keyof Person;

// 使用Pick从Person接口中选取name和age属性,并创建一个新的类型
type PersonInfo = Pick<Person, 'name' | 'age'>;

// 创建一个Person对象
const person: Person = {
  name: 'Alice',
  age: 30,
  address: '123 Main Street'
};

// 使用PersonInfo类型来约束person对象
const personInfo: PersonInfo = {
  name: person.name,
  age: person.age
};

在上面的示例中,我们首先定义了一个Person接口,然后使用keyof获取了这个接口的所有键的联合类型。接着使用PickPerson接口中选取了nameage属性,创建了一个新的类型PersonInfo。最后我们创建了一个person对象,并使用PersonInfo类型来约束personInfo对象,保证personInfo只包含nameage属性。

这样,我们就可以很方便地从一个接口中选取部分属性,并创建一个新的类型。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo6@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram