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

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

В JavaScript примитивы (string, number, boolean, null, undefined, symbol, bigint) хранятся по значению, а ссылочные типы (объекты, массивы, функции) — по ссылке.

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

  1. Копирование:
    javascript
    let a = 5;
    let b = a; // Копируется значение (5)
    b = 10;    // a остаётся 5
    

let obj1 = {x: 1};
let obj2 = obj1; // Копируется ссылка на объект
obj2.x = 2; // obj1.x тоже станет 2

text

2. **Сравнение:**
```javascript
5 === 5 // true
{} === {} // false (разные объекты в памяти)
  1. Изменяемость: Примитивы неизменяемы (новое значение создаётся при изменении), а объекты — изменяемы.

  2. Хранение: Примитивы хранятся в стеке, объекты — в куче (в стеке хранится только ссылка).

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

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

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

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