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

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

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

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

  1. Хранение:
    Примитивы: number, string, boolean, null, undefined, symbol, bigint
    Непримитивы: object, array, function, Date и др.

  2. Сравнение:
    Примитивы сравниваются по значению, непримитивы — по ссылке.

javascript
// Примитивы
const a = 5;
const b = 5;
console.log(a === b); // true

// Непримитивы
const obj1 = { name: 'John' };
const obj2 = { name: 'John' };
console.log(obj1 === obj2); // false (разные ссылки)
  1. Изменяемость:
    Примитивы неизменяемы (immutable), а непримитивы — изменяемы (mutable).
javascript
let str = 'hello';
str[0] = 'H'; // Не изменится
console.log(str); // 'hello'

const arr = [1, 2, 3];
arr[0] = 10; // Изменится
console.log(arr); // [10, 2, 3]
  1. Копирование:
    Примитивы копируются по значению, непримитивы — по ссылке.
javascript
let x = 10;
let y = x; // Копирование значения
y = 20;
console.log(x); // 10 (не изменилось)

const arr1 = [1, 2];
const arr2 = arr1; // Копирование ссылки
arr2.push(3);
console.log(arr1); // [1, 2, 3] (изменилось)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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