Ответ
LocalStorage — это API веб-хранилища (Web Storage), который позволяет сохранять данные в браузере пользователя в формате «ключ-значение» без срока действия. Данные сохраняются между сессиями и перезагрузками браузера.
Основные отличия от sessionStorage:
- localStorage: данные не имеют срока годности, доступны в рамках одного источника (домена) даже после закрытия браузера.
- sessionStorage: данные очищаются после закрытия вкладки/окна браузера.
Базовые операции (JavaScript):
// Запись данных
localStorage.setItem('userToken', 'abc123xyz');
localStorage.setItem('theme', 'dark');
// Чтение данных
const token = localStorage.getItem('userToken'); // 'abc123xyz'
const theme = localStorage.getItem('theme'); // 'dark'
// Удаление конкретного элемента
localStorage.removeItem('theme');
// Полная очистка хранилища для текущего домена
localStorage.clear();
// Получение ключа по индексу
const keyName = localStorage.key(0); // 'userToken'
Ключевые особенности и ограничения:
- Объём: обычно 5–10 МБ на домен (зависит от браузера).
- Доступ: только из JavaScript в контексте того же источника (Same-Origin Policy).
- Тип данных: хранит только строки. Для объектов используйте
JSON.stringify()при записи иJSON.parse()при чтении. - Синхронность: операции блокируют основной поток. Для больших данных это может повлиять на производительность.
- Безопасность: данные не защищены и доступны для любого скрипта на странице. Не храните чувствительную информацию (пароли, токены).