Что будет выведено в консоль?

Что будет выведено в консоль?


Ответ:

true

Объяснение:

instanceof не учитывает саму функцию при проверке, а только prototype, который проверяется на совпадения в прототипной цепочке.

И в данном примере a.__proto__ == B.prototype, поэтому instanceof возвращает true.

Таким образом, по логике instanceof, именно prototype в действительности определяет тип, а не функция-конструктор.

Код для проверки:

function A() {}
function B() {}

A.prototype = B.prototype = {};

let a = new A();

console.log( a instanceof B );




Report Page