Mac*_*ski 5 interface typescript
在将打字稿从2.3更新到2.6之后,我在几种打字中看到了这个错误.它究竟意味着什么?能给我举个例子 ?
编辑:我知道此消息表明错误的接口扩展/实现.我的意思更有趣no properties in common
.建议的问题显示了实现接口的类的示例.我所看到的是一个扩展另一个接口并改变其中一个属性类型的接口.它与消息有什么关系?
Rob*_*ner 11
TypeScript 2.4引入了对弱类型的更强检查,例如所有属性都是可选的接口.
假设我们有两个具有不同属性的弱类型:
interface A {
a?: string;
}
interface B {
b?: string;
}
let x: A = {};
let y: B = {};
Run Code Online (Sandbox Code Playgroud)
请注意,两个x
和y
都是空对象,满足各自的弱类型A
和B
.
现在,指定一个是错误A
的B
吗?
y = x;
Run Code Online (Sandbox Code Playgroud)
TypeScript 2.4+说是的,这是一个错误:
Type 'A' has no properties in common with type 'B'.
Run Code Online (Sandbox Code Playgroud)
这是一个简化的例子; 你的打字文件肯定更复杂,但我希望这说明了错误的意图.如果您发布一些代码,我们可以进一步深入研究.
如果TypeScript的弱类型检查在您的情况下过于谨慎,则有一些变通方法,例如转换或使用索引签名:
https://blog.mariusschulz.com/2017/12/01/typescript-2-4-weak-type-detection
归档时间: |
|
查看次数: |
5053 次 |
最近记录: |