attribute - Как проверить, является ли B «подклассом» A в Javascript/Node?



js title attribute (1)

Учитывая два класса, как это:

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
new B() instanceof A // shorter, but creates an instance of B




node.js