Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: типы данных

Какое различие между number и object в том, как они хранятся в памяти?

Этот вопрос проверяет понимание типов данных в JavaScript и их хранения в памяти.

Короткий ответ

number — примитивный тип, он хранится в стеке (быстрый доступ, фиксированный размер). object — ссылочный тип, его данные хранятся в куче (динамическое выделение памяти), а в стеке сохраняется только ссылка на него.

Длинный ответ

В JavaScript примитивные типы (например, number, string, boolean) хранятся в стеке — области памяти с быстрым доступом и фиксированным размером. Когда вы создаете переменную с числом, её значение сразу записывается в стек.

Объекты (object, array, function) хранятся в куче — динамической области памяти. В стеке сохраняется только ссылка (адрес в памяти), указывающая на место в куче, где лежат данные объекта.

Пример:

let a = 5; // число (хранится в стеке)
let b = a; // копируется значение (5)
b = 10;    // изменяется копия, 'a' остаётся 5

let obj1 = { value: 5 }; // объект (данные в куче, ссылка — в стеке)
let obj2 = obj1;         // копируется ссылка, оба указывают на один объект
obj2.value = 10;         // меняется общий объект, obj1.value тоже станет 10

Это объясняет, почему примитивы копируются по значению, а объекты — по ссылке.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#типы данных

Подпишись на React Developer в телеграм