Size: a a a

2021 July 12

К

Константин in javascript_ru
затерев старую.
источник

К

Константин in javascript_ru
но объект как был, так и остался.
источник

К

Константин in javascript_ru
даже я тебе скажу одну штуку - JS имеет неуправляемую память, это значит что ты не можешь осводить ее когда хочешь :)
это значит, что ты не можешь удалит объект руками
источник

AG

Artur Gaziev in javascript_ru
нехуя не понятно, можно рефакторинг объяснения?
let obj1 = {name: "test"}
let obj2 = obj1
obj1 = {name: "myname"}

obj1
{name: "myname"}
obj2
{name: "test"}
источник

AG

Artur Gaziev in javascript_ru
я вижу это как
obj2(ссылка) на => obj1(ссылка) на => {name:"test")
почему при изменении Obj1
obj2 продолжает вести на {name:"test"}
источник

К

Константин in javascript_ru
блять
источник

К

Константин in javascript_ru
потому что они не ссылаются друг на друга
источник

К

Константин in javascript_ru
они ссылаются только на значение
источник

AG

Artur Gaziev in javascript_ru
типа я создал значение obj2 в которую записал ссылку obj1 ?
источник

AG

Artur Gaziev in javascript_ru
и оно записалось в память куда то
источник

К

Константин in javascript_ru
....
источник

К

Константин in javascript_ru
{name: "test"} - объект
источник

К

Константин in javascript_ru
ссылка на которого и в obj1 и в obj2
источник

j

javascript@conferenc... in javascript_ru
Katod
> почему при изменении Obj1
потому-что там нет изменения. obj1 назначается абсолютно новый объект. от выкидывает ссылку на старый объект (но эту ссылку продолжает удерживать obj2) и ему назначается ссылка на новый объект.
источник

К

Константин in javascript_ru
я думаю надо объяснять что есть ссылочный тип, что есть тип-значение
источник

AG

Artur Gaziev in javascript_ru
это все исходит из той темы что {} === {}  false?
типа создается каждый раз новый инстанс объекта?
источник

К

Константин in javascript_ru
все объекты в JS - ссылки
источник

К

Константин in javascript_ru
вообще все
источник

К

Константин in javascript_ru
нету значимых объектов, типа структур
источник

К

Константин in javascript_ru
есть примитивы (Symbol, string, number, null, undefined) - они передаются по значению
источник