Как именно данные сохраняются в Session Storage браузера
Краткий ответ
Session Storage хранит данные в формате пар «ключ-значение», где оба элемента представлены строками. Это временное хранилище, доступное только в рамках текущей сессии браузера.
Развёрнуто
Краткий ответ
Session Storage сохраняет данные как пары «ключ-значение», где и ключ, и значение — строки. Эти данные существуют только на время текущей сессии браузера и удаляются при закрытии вкладки.
Как это работает
Session Storage — это объект веб-хранилища, доступный через JavaScript API window.sessionStorage. Все данные сохраняются в формате строк, что означает, что любые нестроковые значения нужно преобразовывать в строку перед сохранением (например, с помощью JSON.stringify). Данные доступны только в рамках одной вкладки или окна браузера и исчезают при её закрытии, в отличие от Local Storage, который сохраняет данные между сессиями.
| Хранилище | Время хранения | Формат данных | Область действия |
|---|---|---|---|
| Session Storage | До закрытия вкладки | Пары строк «ключ-значение» | Одна вкладка/окно |
| Local Storage | Постоянно, без удаления | Пары строк «ключ-значение» | Все вкладки домена |
Пример
// Сохранение значения в Session Storage
sessionStorage.setItem('userId', '12345');
// Получение значения из Session Storage
const userId = sessionStorage.getItem('userId');
console.log(userId); // '12345'
// Удаление значения
sessionStorage.removeItem('userId');
// Очистка всего Session Storage
sessionStorage.clear();
В этом примере ключ и значение — строки, что соответствует требованиям Session Storage.
Что важно знать на собеседовании
- Session Storage хранит данные в виде строковых пар «ключ-значение».
- Данные доступны только в течение одной сессии (вкладки/окна браузера).
- При закрытии вкладки данные Session Storage удаляются автоматически.
- Для хранения сложных объектов необходимо использовать сериализацию (например, JSON).
- Session Storage отличается от Local Storage по времени хранения и области видимости.
Тема: Web-тестирование и DevTools | Уровень: middle