Junior
108
questionbank
Что такое ссылочные типы данных?
AI答案
sobes.tech AI
Ссылочные типы данных в JavaScript (Объекты, Массивы, Функции) не хранят свои значения непосредственно в переменной. Вместо этого переменная хранит ссылку (адрес) на место в памяти, где находится само значение.
Ключевые особенности:
- Передача по ссылке: При присвоении или передаче функции, копируется только ссылка, а не само значение. Изменение данных по одной ссылке отразится на всех переменных, ссылающихся на тот же объект в памяти.
- Мутабельность: Значение ссылочного типа может быть изменено после создания.
- Сравнение: Оператор
==или===для ссылочных типов сравнивает ссылки, а не значения. Два объекта с одинаковым содержимым, но разными ссылками, будут считаться разными.
Пример:
// Создаем объект
const obj1 = { name: 'Alice' };
// Присваиваем obj2 ссылку на тот же объект в памяти
const obj2 = obj1;
// Изменяем свойство через obj2
obj2.name = 'Bob';
// Изменение отразилось на obj1, потому что они ссылаются на один объект
console.log(obj1.name); // Выведет 'Bob'
// Сравнение ссылок
console.log(obj1 === obj2); // Выведет true
// Создаем новый объект с тем же содержимым, но в другом месте памяти
const obj3 = { name: 'Bob' };
// Сравнение разных ссылок
console.log(obj1 === obj3); // Выведет false