Объяснение

Объяснение

@easypeasycode

Object.freeze делает невозможным добавление, удаление или изменение свойств объекта (если только значение свойства не является другим объектом).

Когда мы создаем переменную shape и устанавливаем ее равной замороженному объекту box, shape также ссылается на замороженный объект. Вы можете проверить, заморожен ли объект, используя Object.isFrozen. В этом случае Object.isFrozen(shape) возвращает true, поскольку переменная shape имеет ссылку на замороженный объект.

Поскольку shape заморожен, и поскольку значение x не является объектом, мы не можем изменить свойство xx по-прежнему равно 10, и {x: 10, y: 20} регистрируется.

Код:

const box = { x: 10, y: 20 };

Object.freeze(box);

const shape = box;

shape.x = 100;

console.log(shape);

Report Page