Back to questions
Middle+
1
Какие типы данных существуют в JavaScript? Чем примитивы отличаются от объектов? Как они хранятся в памяти?
Companies where asked
ООО Делай мебель
Answer from AI
sobes.tech AI
В JavaScript существуют следующие типы данных:
Примитивы:
- Number (числа)
- String (строки)
- Boolean (логические значения)
- Null (отсутствие значения)
- Undefined (неопределённое значение)
- Symbol (уникальные идентификаторы)
- BigInt (целые числа произвольной длины)
Объекты:
- Object (общий объект)
- Array (массивы)
- Function (функции)
- Date, RegExp и другие встроенные объекты
Отличия примитивов от объектов:
- Примитивы хранятся непосредственно в стеке и передаются по значению.
- Объекты хранятся в куче, а переменная содержит ссылку на объект.
- Примитивы неизменяемы (immutable), объекты — изменяемы (mutable).
Хранение в памяти:
- Примитивы занимают фиксированное место и быстро доступны.
- Объекты хранятся в куче, переменные содержат указатели на них.
Например:
let a = 5; // a хранит значение 5
let b = a; // копия значения
b = 10; // a не изменится
let obj1 = {x:1};
let obj2 = obj1; // obj2 и obj1 ссылаются на один объект
obj2.x = 2; // obj1.x тоже изменится
Таким образом, примитивы — простые значения, объекты — сложные структуры с ссылочной семантикой.