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

В чем разница между примитивными и объектными типами данных

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

Объектные типы (object, array, function) хранятся в куче, а в стеке хранится ссылка на них. Передаются по ссылке, изменяемы (mutable).

Пример:

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

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

Ключевые отличия:

  • Примитивы: immutable, сравнение по значению, хранятся в стеке
  • Объекты: mutable, сравнение по ссылке, хранятся в куче
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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