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

7 lines
No EOL
650 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Да, это выглядит достаточно странно, поскольку объект `a` не создавался функцией `B`.
Но методу `instanceof` на самом деле вообще не важна функция. Он смотрит на её `prototype` и сверяет его с цепочкой `__proto__` объекта.
В данном случае `a.__proto__ == B.prototype`, поэтому `instanceof` возвращает `true`.
По логике `instanceof` именно прототип задаёт "тип объекта", поэтому `instanceof` работает именно так.