From 12c80315ac4b402e212144c53927aab7f1d9083a Mon Sep 17 00:00:00 2001 From: feld1meow <49448500+feld1meow@users.noreply.github.com> Date: Thu, 12 Feb 2026 01:13:39 +0700 Subject: [PATCH] fix: remove duplicate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Упоминание об изменяемости свойств объектов, объявленных посредством const, есть в предыдущем топике "01-object" в 95 строке --- .../02-object-copy/article.md | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/1-js/04-object-basics/02-object-copy/article.md b/1-js/04-object-basics/02-object-copy/article.md index e648d34098..b0235c3d5f 100644 --- a/1-js/04-object-basics/02-object-copy/article.md +++ b/1-js/04-object-basics/02-object-copy/article.md @@ -232,30 +232,6 @@ alert(clone.sizes.width); // 51, видим результат в другом Также мы можем использовать глобальный метод [structuredClone()](https://developer.mozilla.org/en-US/docs/Web/API/structuredClone), который позволяет сделать полную копию объекта. К сожалению он поддерживается только современными браузерами. [Здесь](https://caniuse.com/?search=structuredClone) можно ознакомиться с поддержкой этого метода. -````smart header="Объекты, объявленные как константа, могут быть изменены" -Важным побочным эффектом хранения объектов в качестве ссылок является то, что объект, объявленный как `const`, *может* быть изменён. - -Например: - -```js run -const user = { - name: "John" -}; - -*!* -user.name = "Pete"; // (*) -*/!* - -alert(user.name); // Pete -``` - -Может показаться, что строка `(*)` вызовет ошибку, но, это не так. Значение `user` это константа, оно всегда должно ссылаться на один и тот же объект, но свойства этого объекта могут свободно изменяться. - -Другими словами, `const user` выдаст ошибку только в том случае, если мы попытаемся задать `user=...` в целом. - -Тем не менее, если нам действительно нужно создать постоянные свойства объекта, это тоже возможно, но с использованием совершенно других методов. Мы затронем это в главе . -```` - ## Итого Объекты присваиваются и копируются по ссылке. Другими словами, переменная хранит не "значение объекта", а "ссылку" (адрес в памяти) на это значение. Таким образом, копирование такой переменной или передача её в качестве аргумента функции копирует эту ссылку, а не сам объект.