Local Storage
Local Storage — это Web API, который позволяет веб-приложениям хранить данные локально в браузере пользователя без отправки на сервер.
Основные методы
1// Сохранение данных
2localStorage.setItem('key', 'value');
3localStorage.setItem('user', JSON.stringify({name: 'John', age: 30}));
4
5// Получение данных
6const value = localStorage.getItem('key');
7const user = JSON.parse(localStorage.getItem('user'));
8
9// Удаление конкретного элемента
10localStorage.removeItem('key');
11
12// Очистка всех данных
13localStorage.clear();
14
15// Получение количества элементов
16const length = localStorage.length;
17
18// Получение ключа по индексу
19const key = localStorage.key(0);
Хранение сложных объектов
1// Объект для хранения
2const userData = {
3 name: 'Alice',
4 email: 'alice@example.com',
5 preferences: {
6 theme: 'dark',
7 language: 'en'
8 }
9};
10
11// Сохранение
12localStorage.setItem('userData', JSON.stringify(userData));
13
14// Получение
15const savedUser = JSON.parse(localStorage.getItem('userData'));
16console.log(savedUser.preferences.theme); // 'dark'
Обработка событий storage
Ограничения localStorage
- Размер — обычно 5-10 MB на домен
- Синхронность — блокирующие операции
- Строки — хранит только строки
- Безопасность — доступен JavaScript коду
- Приватный режим — может быть недоступен
localStorage vs других хранилищ
- sessionStorage — данные только для сессии
- cookies — отправляются на сервер, меньший размер
- IndexedDB — для больших объемов данных
Проверка поддержки
FAQ
Безопасно ли хранить чувствительные данные в localStorage?
Нет, localStorage доступен JavaScript коду и не подходит для токенов, паролей и другой чувствительной информации.