Мои задачи по Javascript
Случайная задача
Список всех задач

Задача 26

'use strict';

function MakeObj() {
  let x = 1;
}

MakeObj.prototype = { x: 4 };

let obj1 = new MakeObj();
let obj2 = new MakeObj();

obj2.__proto__ = obj1;

MakeObj.prototype = null;

console.log(obj2.x);
Что выведет консоль?
1
2
3
4
5
← Задача 25Задача 27 →
Пояснение Строка MakeObj.prototype = null; не повлияла на объекты obj1 и obj2, ведь ссылки на объекты внутри свойств __proto__ остались прежними.
obj1.__proto__ ссылается на объект { x: 4 }, а obj2.__proto__ ссылается на obj1.

Вообще, говорить, что __proto__ ссылается на что-то не совсем верно, ведь __proto__ - это лишь геттер-сеттер для скрытого свойства [[Prototype]].



Написать сообщение - отзыв, пожелание и т.п.