Назад к вопросам
IT One
Middle+
1
let obj = { a: 1 }; let array = [obj]; obj = null; console.log(obj); // console.log(array); //
Компании, где спрашивали
Ответ от нейросети
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 передаются и хранятся по ссылке, и изменение ссылки переменной не влияет на другие ссылки на тот же объект.