169 похожих чатов

Всем привет, подскажите. admin и user ссылаются на один и

тот же объект, но если я зануляю user, в admin остается объект. Что происходит, и где про это почитать?

10 ответов

10 просмотров

https://learn.javascript.ru/object-copy

Славный-Пират Автор вопроса
va1
https://learn.javascript.ru/object-copy

Объекты присваиваются и копируются по ссылке. Другими словами, переменная хранит не «значение объекта», а «ссылку» (адрес в памяти) на это значение. Поэтому копирование такой переменной или передача её в качестве аргумента функции приводит к копированию этой ссылки, а не самого объекта. Все операции с использованием скопированных ссылок (например, добавление или удаление свойств) выполняются с одним и тем же объектом.

Славный-Пират Автор вопроса
va1
https://learn.javascript.ru/object-copy

Не помогло в понимании, там написано что все занулится

Славный Пират
Не помогло в понимании, там написано что все занул...

Это ещё следующую главу надо зацепить про сборку мусора.

Славный-Пират Автор вопроса
va1
Это ещё следующую главу надо зацепить про сборку м...

Я разобрался, получается я занулил не объект, а одну из ссылок на него

Славный Пират
Не помогло в понимании, там написано что все занул...

ну значит пока не разберешь по косточкам что такое ссылки и указатели - будешь как ёжик в тумане. А для того чтобы действительно понять как всё это работает - лучше выйти из пузыря жаваскрипт и полезть куда-нибудь в язык, где со ссылками можно нормально работать. От Турбопаскаль/Дельфи до С/С++ , языков дофига, лучше всего понимание приходит при создании двусвязных списков.

Славный-Пират Автор вопроса
Damir Takhautdinov
ну значит пока не разберешь по косточкам что такое...

Спасибо за совет, на делфи лет десять назад кодил))

Славный Пират
Спасибо за совет, на делфи лет десять назад кодил)...

во, там и бахнешь двусвязный список, и жаваскрипт заиграет новыми красками

Так вы обнуляете идентификатор user, а не объект, на который user до этого ссылался

Alexey
Так вы обнуляете идентификатор user, а не объект, ...

Если вы занулите все идентификаторы, которые содержали ссылку на объект, - на объект больше ничего не ссылается и сборщик мусора удаляет этот объект

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта