【发布时间】:2021-05-27 10:28:24
【问题描述】:
Omit 有问题。它不是在抱怨额外的道具。
看看这个示例代码:
interface Model {
prop:number;
dangerProp: number;
}
interface SafeModel extends Omit<Model, "dangerProp"> {}
这按预期工作,但是如果将 SafeModel 更改为此:
interface SafeModel extends Omit<Model, "dangerPropMisspeled"> {}
尽管该道具没有退出,但任何地方都没有错误。 Pick 总是检查相关性,但 Omit 似乎没有,但这不是我真实代码的选项。
这让我很困扰,如果有人更改 Model 而没有注意到应该更改为 SafeModel,这可能会导致我在工厂或其他地方出现一些错误。
那么,有没有办法强制Omit 检查相关性? eslint 解决方案对我来说是一个有效的解决方法。
【问题讨论】:
标签: typescript interface