PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Что такое localStorage?

DOM и браузер

`localStorage` — это браузерное хранилище пар «ключ–значение» с бессрочным сроком жизни и объёмом ~5–10 МБ. Данные доступны только на клиенте и сохраняются между сессиями.

Свойства

  • Хранит строки (объекты нужно сериализовать через JSON).
  • Живёт бессрочно, пока не удалят вручную или через код.
  • Общий для всех вкладок одного origin.
  • Синхронный API.
  • На сервер не отправляется.

API

localStorage.setItem('theme', 'dark');
localStorage.getItem('theme');     // 'dark'
localStorage.removeItem('theme');
localStorage.clear();

// Объекты — через JSON
localStorage.setItem('user', JSON.stringify({ name: 'Ann' }));
const user = JSON.parse(localStorage.getItem('user'));

Событие storage

Изменение localStorage в одной вкладке вызывает событие storage в других вкладках — можно синхронизировать состояние.

Ограничения и безопасность

  • Только строки, синхронный доступ (может блокировать при больших объёмах).
  • Уязвим к XSS — не хранить токены доступа.

localStorage против sessionStorage

Одинаковое API, но sessionStorage живёт только пока открыта вкладка.

Коротко для собеседования

localStorage — клиентское хранилище строк «ключ–значение», бессрочное, ~5–10 МБ, общее для вкладок origin, синхронное. Объекты сериализуют через JSON. Не для секретов (XSS). Изменения ловятся событием storage в других вкладках.

Другие вопросы раздела