Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как сохранить объект в localStorage

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

localStorage хранит только строки. Превращайте объект в JSON при записи и обратно при чтении:

const settings = { theme: 'dark', fontSize: 16 };
localStorage.setItem('settings', JSON.stringify(settings));
 
const saved = JSON.parse(localStorage.getItem('settings'));

Значение по умолчанию

Если ключа ещё нет, getItem() возвращает null. Там может лежать и испорченное значение. Вспомогательная функция обрабатывает оба случая:

function load(key, fallback) {
  try {
    const value = localStorage.getItem(key);
    return value === null ? fallback : JSON.parse(value);
  } catch {
    return fallback;
  }
}
 
const cart = load('cart', []);

Удаление

removeItem() удаляет один ключ, clear() — всё, что сохранил сайт:

localStorage.removeItem('cart');

Частая ошибка

Без JSON.stringify() объект превращается в бесполезную строку [object Object]:

localStorage.setItem('user', { name: 'Anna' });
localStorage.getItem('user'); // '[object Object]'

Функции из этого ответа

  • JSON.stringify — Преобразует значение в строку в формате JSON.
  • JSON.parse — Разбирает строку JSON и возвращает значение.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.