Sobes.tech
Back to questions
Middle+
2

let obj = { a: 1 }; let array = [obj]; obj = null; console.log(obj); // console.log(array); //

Companies where asked
IT OneIT One

Answer from AI

sobes.tech AI

javascript let obj = { a: 1 }; let array = [obj]; obj = null; console.log(obj); // null console.log(array); // [{ a: 1 }]


Объяснение:

- Изначально `obj` ссылается на объект `{ a: 1 }`.
- Массив `array` содержит ссылку на тот же объект.
- Когда мы присваиваем `obj = null;`, переменная `obj` перестаёт ссылаться на объект, но объект всё ещё существует в памяти, так как на него ссылается `array[0]`.
- Поэтому `console.log(obj);` выведет `null`, а `console.log(array);` выведет массив с объектом `{ a: 1 }`.

Это демонстрирует, что объекты в JavaScript передаются и хранятся по ссылке, и изменение ссылки переменной не влияет на другие ссылки на тот же объект.