给定两个这样的类:
function A(name) {
this.name = name;
}
A.prototype.sayName = function() {
console.log(this.name);
}
var B = require('some-class');
// B is subclass of A?
有没有办法以编程方式确定B是否是A的子类?
编辑:就我而言,B是一个函数,
B.prototype
扩展了A.prototype
。 B不是new A()
的返回。 B instanceof A
似乎不起作用。 最佳答案
要检查B
是否是A
的子类(不包括B === A
的情况):
B.prototype instanceof A
要检查B
是否是A
的子类(包括B === A
的情况):B.prototype instanceof A || B === A
如果您有B
的实例,则可以将第二个测试简化为b instanceof A // where b is an instance of B
关于javascript - 如何在Javascript/Node中测试B是否为A的 “subclass”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18939192/