Typescript联合类型允许来自两个接口的属性

时间:2019-07-30 00:56:21

标签: typescript union-types

interface NumericalityGreaterOptions {
  greaterThan?: number;
  greaterThanOrEqualTo?: number;
}

interface NumericalityEqualOptions {
  equalTo?: number;
}

const x: NumericalityEqualOptions | NumericalityGreaterOptions = {
  greaterThanOrEqualTo: 4,
  equalTo: 3
};

https://www.typescriptlang.org/play/#code/JYOwLgpgTgZghgYwgAgHIFcC21gLgG2DAE8BxKCOSKAeQAcxgB7EAZ2QG8BYAKGWQDmFKtAAqACzggA-AC5kILACNoAbl78hlahKk0oAUQCO6AqKZyFytbwC+vXqGrwkaLDjyESx0-nqMWdm4+ZAgTMwt5RUwVKHUeex5eBECwZAAPeQxsKFwCImIfAn9mNmQAHzccvK8yYWoSwOQAXk4NQXqxSRB9IvxzeQAWABp2sN8B5ABmO1UgA 但是,我希望打字稿不允许x具有equalTo和GreaterThanOrEqualTo作为属性,因为它们来自通过联合类型组合的不同接口。 我希望这种行为来自:

NumericalityEqualOptions & NumericalityGreaterOptions

相反。

我做错了还是这是一个错误?

0 个答案:

没有答案