我有一个类 classA 的对象,它继承自类 classB
我的问题是:我怎么知道我的对象是否继承自 classB
我试过了: classB的对象实例
但它没有用!
当我在任何ts文件中找到instanceof时 我得到了
0x800a138f - Microsoft JScript运行时错误:无法获取属性'prototype'的值:object为null或undefined
var __extends = this.__extends || function (d, b) {
function __() { this.constructor = d; }
__.prototype = b.prototype; //exception occurs in this line
d.prototype = new __();
};
答案 0 :(得分:5)
此错误的一个原因是,您派生的类来自在文件中的派生类之后。
这(以扼杀Ryan的回答):
class B extends A {
}
class A {
}
var x = new B();
console.log(x instanceof A); // Error
...恰恰导致您在Playground中描述的错误。
我认为在codeplex上已有一个工作项,但现在已经很晚了,我还没有检查......
答案 1 :(得分:2)
这通常有效:
class A {
}
class B extends A {
}
var x = new B();
console.log(x instanceof A); // true