В чем особенность хранения объектов?
Этот вопрос проверяет понимание, как объекты хранятся в памяти и передаются в JavaScript. Это важно для работы с объектами и ссылками на них.
Короткий ответ
Объекты в JavaScript хранятся по ссылке. Это означает, что когда объект присваивается переменной или передается в функцию, копируется не сам объект, а ссылка на него. Поэтому любые изменения объекта через одну переменную будут видны и через другие переменные, которые ссылаются на этот объект.
Длинный ответ
В JavaScript объекты хранятся по ссылке, в отличие от примитивных типов данных (например, чисел и строк), которые копируются по значению. Когда вы создаете объект и присваиваете его переменной, переменная хранит не сам объект, а ссылку на место в памяти, где этот объект находится. Это важно понимать, поскольку если несколько переменных указывают на один и тот же объект, изменения, внесенные через одну переменную, отразятся на других переменных, которые ссылаются на тот же объект.
let obj1 = { name: "John" };
let obj2 = obj1;
obj2.name = "Jane";
console.log(obj1.name); // "Jane", так как obj1 и obj2 ссылаются на один объект.Это поведение нужно учитывать, чтобы избежать нежелательных побочных эффектов, особенно при работе с объектами, переданными в функции или возвращаемыми из них.