en.javascript.info/1-js/9-object-inheritance/11-instanceof/1-strange-instanceof/solution.md
Ilya Kantor b0976b5253 up
2016-11-14 23:41:18 +03:00

650 B
Raw Blame History

Да, это выглядит достаточно странно, поскольку объект a не создавался функцией B.

Но методу instanceof на самом деле вообще не важна функция. Он смотрит на её prototype и сверяет его с цепочкой __proto__ объекта.

В данном случае a.__proto__ == B.prototype, поэтому instanceof возвращает true.

По логике instanceof именно прототип задаёт "тип объекта", поэтому instanceof работает именно так.