@d4c0

Как интерпретировать дополнительную вложенность прототипа?

651718709662f507596513.png

Очевидно, что содержимое "obj.[[Prototype]]" (в кавычках, т.к. это не свойство объекта, таким образом я показываю вложенность в консоли) это то-же самое, что находится в "obj.[[Prototype]].__proto__", или просто в obj.__proto__. Что это за [[Prototype]], и почему оно добавляет "визуальную" вложенность?
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
obj.__proto__.__proto__ равен null, всё в порядке)

скорее всего, так показывает браузерная консоль.
[[Prototype]] - то что лежит в прототипе.
Но в самом "дальнем" прототипе (который равен Object.prototype) нашлось свойство __proto__, (не поле, а свойство) которое при раскрытии вычисляется для самого объекта obj, и возвращает его прототип.

сделай obj.__proto__ = {b:2} , снова посмотри obj в консоли, и тебе станет понятен этот мой пятничный поток сознания
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы