Встречается на собеседованиях • сегодня

В чем разница между примитивными типами данных и ссылочными

Примитивные типы (number, string, boolean, null, undefined, symbol, bigint) хранятся в стеке и передаются по значению. При копировании создается независимая копия.

Ссылочные типы (объекты, массивы, функции) хранятся в куче, а в переменной содержится ссылка на них. При копировании копируется только ссылка, а сам объект остается тем же.

Пример:

javascript
// Примитив
let a = 5;
let b = a; // Копируется значение
b = 10;
console.log(a); // 5 (не изменилось)

// Ссылочный тип
let obj1 = {x: 1};
let obj2 = obj1; // Копируется ссылка
obj2.x = 2;
console.log(obj1.x); // 2 (изменилось)

Для сравнения примитивов используется значение, ссылочных типов - ссылка (даже если содержимое одинаковое).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы