【发布时间】:2021-06-24 06:41:09
【问题描述】:
我有这个代码:
class A {
public var1: string = 'var1';
}
class B {
public var1: string = 'var1';
public var2: string = 'var2';
}
const instance: A = new B();
console.log(instance instanceof A);
我不明白为什么 typescript 编译器可以使用 instance: A = new B(),因为 B 不扩展 A。如果 A 和 B 是接口,我理解,因为接口不会继续执行,但对于 Class,我不明白.
最后一行返回“false”,证明 A 不是 B!
有什么事要做吗?编译器选项?带有泛型的代码?...
问候。
【问题讨论】:
-
B不是A的实例,它只是共享一个公共属性var1。然后你必须从中派生,这样他们就有了继承关系。
标签: typescript