Встречается на собеседованиях • сегодня
В чем разница между примитивным и непримитивным типами данных
Примитивные типы данных хранят значение напрямую, а непримитивные (объекты, массивы, функции) хранят ссылку на значение.
Ключевые отличия:
-
Хранение:
Примитивы:number,string,boolean,null,undefined,symbol,bigint
Непримитивы:object,array,function,Dateи др. -
Сравнение:
Примитивы сравниваются по значению, непримитивы — по ссылке.
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 (разные ссылки)- Изменяемость:
Примитивы неизменяемы (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]- Копирование:
Примитивы копируются по значению, непримитивы — по ссылке.
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] (изменилось)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы