【发布时间】:2018-12-05 06:08:29
【问题描述】:
我们如何在不创建包含每个可能对象的联合类型的情况下对此进行建模?
type ValidRootPropertyNames =
'Property1' |
'Property2';
type ObjectWithRootPropertyNameFromList =
{ Property1: string; } |
{ Property2: string; };
const obj1: ObjectWithRootPropertyNameFromList = { // okay
Property1: 'foo',
};
const obj2: ObjectWithRootPropertyNameFromList = { // okay
Property2: 'foo',
};
const obj3: ObjectWithRootPropertyNameFromList = { // error
Property3: 'foo',
};
上面做了我们需要的;问题是当有几十个有效的属性名称时,它变得很麻烦。
【问题讨论】:
标签: typescript