ts中in、keyof的疑问

来源:4-15 【资料梳理】关键知识点

joya0

2023-09-19

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

type User = {
  [k in keyof Person]: number | string;
  sex: 'male' | 'female';
}  // 增加一个sex的属性,好像要改成下方交叉类型的方法才可以,是不是只有这种方式才可以实现?

type User1 = {
  [k in keyof Person]: any;
} & {
  sex: 'male' | 'female';
}

const user1:User1 = {
  id: 1,
  name: 'joya',
  age: 20,
  sex: 'male'
}

写回答

1回答

河畔一角

2023-09-19

交叉类型也可以,应该是最简单的。 keyof这种方式也是可以的,主要是获取key值,当做属性,这种方式应用的也很广泛

0
0

React18+TS 通用后台管理系统解决方案落地实战

全面提升React高阶技能,灵活驾驭各类后台管理系统开发痛点

651 学习 · 242 问题

查看课程