Ответ
Session Storage и Local Storage — это механизмы клиентского хранения данных в браузере, работающие по принципу «ключ-значение». Их основное различие заключается в времени жизни данных и области видимости.
Session Storage
- Время жизни: Данные сохраняются только на время сессии браузера и удаляются при закрытии вкладки.
- Область видимости: Данные доступны только в контексте той вкладки, где они были созданы.
- Лимит: Обычно около 5 МБ на домен.
- Использование: Для временных данных, например, ввода формы в течение одной сессии.
Local Storage
- Время жизни: Данные не имеют срока действия и сохраняются до явного удаления через JS или очистки браузера.
- Область видимости: Данные доступны для всех вкладок и окон, открытых на одном домене.
- Лимит: Обычно около 5-10 МБ на домен.
- Использование: Для постоянных настроек пользователя (тема, язык) или кэширования.
Пример использования:
// Local Storage — для постоянных настроек
localStorage.setItem('appTheme', 'dark');
const savedTheme = localStorage.getItem('appTheme'); // 'dark'
// Session Storage — для временных данных сессии
sessionStorage.setItem('formDraft', JSON.stringify({ name: 'Alice' }));
const draft = JSON.parse(sessionStorage.getItem('formDraft')); // {name: 'Alice'}
Важно: Оба хранилища синхронны и работают только со строками. Для хранения объектов используйте JSON.stringify() и JSON.parse().