网站搜索

javascript - 使用 Typescript 对对象的其余字段进行类型检查


我想用 TypeScript 编写一个接口或类型,以强制已知字段的类型,同时也包括一些动态字段。

示例:

const person = {
   children: [person1, person2],
   name: "X",
   dynamicField1: person3,
   dynamicField2: person4,
   dynamicField3: person5 
}

// Something that would look like this
interface Person {
  name: string;
  children: Person[];
  ...rest: Person;
}

在 TypeScript 中可以做到吗?

答案#1

在 TypeScript 中可以做到吗?

是的,你可以让你的 Person 接口继承一个允许任何键/值的记录,如下所示:

interface Person extends Record<any, any> {
    name: string;
    children: Person[];
}