Подтвердить что ты не робот

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

Для двух классов:

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 extends A.prototype. B не является возвратом new A(). B instanceof A, похоже, не работает.

4b9b3361

Ответ 1

Чтобы проверить, является ли 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