Главное отличие между [localStorage] и [sessionStorage]:
// localStorage — навсегда
localStorage.setItem('name', 'Иван');
// Даже после перезагрузки страницы и закрытия браузера
// данные останутся
// sessionStorage — до закрытия вкладки
sessionStorage.setItem('temp', 'временные данные');
// После закрытия вкладки данные исчезнутПредставь, что [localStorage] — это сейф, где ты хранит важные вещи навсегда, а [sessionStorage] — карман в куртке, куда кладёшь вещи только на время прогулки! 🏦 vs 🧥
Данные остаются в браузере навсегда:
// Сохраняем данные
localStorage.setItem('theme', 'dark');
localStorage.setItem('language', 'ru');
// Можно закрыть браузер, перезагрузить компьютер
// Данные всё равно будут здесь!
console.log(localStorage.getItem('theme')); // 'dark'Данные живут только во время сессии (пока открыта вкладка):
// Сохраняем временные данные
sessionStorage.setItem('formStep', '2');
sessionStorage.setItem('tempData', 'что-то временное');
// После закрытия вкладки — всё исчезает!
// При открытии новой вкладки — хранилище пустое// ✅ Настройки пользователя
localStorage.setItem('theme', 'dark');
localStorage.setItem('language', 'ru');
// ✅ Токены авторизации (осторожно!)
localStorage.setItem('token', 'abc123');
// ✅ Прогресс в играх
localStorage.setItem('level', '5');// ✅ Данные формы во время заполнения
sessionStorage.setItem('formData', JSON.stringify({name: 'Иван'}));
// ✅ Временные состояния страницы
sessionStorage.setItem('scrollPosition', '100');
// ✅ Данные для одной сессии
sessionStorage.setItem('visitCount', '3');// Оба работают одинаково
localStorage.setItem('key', 'value');
sessionStorage.setItem('key', 'value');
localStorage.getItem('key');
sessionStorage.getItem('key');
localStorage.removeItem('key');
sessionStorage.removeItem('key');// Оба хранят только строки!
localStorage.setItem('number', 42); // Сохранится как '42'
localStorage.setItem('object', {name: 'Иван'}); // Сохранится как '[object Object]'
// Для объектов используй JSON
localStorage.setItem('user', JSON.stringify({name: 'Иван'}));
const user = JSON.parse(localStorage.getItem('user'));// ❌ Ошибка — думают, что sessionStorage тоже навсегда
sessionStorage.setItem('importantSetting', 'dark');
// После закрытия вкладки настройка исчезнет!
// ✅ Правильно — использовать localStorage для важного
localStorage.setItem('importantSetting', 'dark');// ❌ Плохо — localStorage можно легко прочитать
localStorage.setItem('password', '123456');
// ✅ Лучше — использовать безопасные методы
// или хотя бы sessionStorage (меньше шансов утечки)
sessionStorage.setItem('token', 'abc123');Понимание разницы между [localStorage] и [sessionStorage] помогает правильно хранить данные в браузере! 💪
Хотите больше статей для подготовки к собеседованиям? Подписывайтесь на EasyAdvice, добавляйте сайт в закладки и совершенствуйтесь каждый день 💪