> Какие данные (примитивы или объекты) можно хранить в localStorage (JavaScript)

Уровень: middle · Роль: frontend · Категория: Технические вопросы

Компании: IT-One

Стек: JavaScript

> Пример ответа

В localStorage можно хранить только строки. Все данные, которые вы туда помещаете (числа, булевы значения, объекты, массивы, null, undefined), автоматически преобразуются в строку с помощью метода toString(). Например, число 42 станет строкой "42", а объект {a: 1} - строкой "[object Object]".

Для хранения сложных структур данных (объектов, массивов) необходимо использовать JSON.stringify() при записи и JSON.parse() при чтении. Примитивы, такие как строки, числа, булевы значения, можно хранить напрямую, но при извлечении они всё равно будут строками - потребуется явное приведение типов (например, Number() или parseInt()).

undefined и функции не могут быть корректно сохранены: undefined превратится в строку "undefined", а функция - в "function f() {}", что бесполезно. Symbol также не поддерживается.

Таким образом, фактически localStorage - это хранилище строк, и для работы с другими типами данных нужна ручная сериализация.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью