Что представляет собой sessionStorage в браузерах и как работает
Краткий ответ
sessionStorage — это веб-объект для временного хранения данных в формате ключ-значение, доступный только в рамках одной сессии браузера. Данные удаляются при закрытии вкладки или окна и изолированы между разными вкладками.
Развёрнуто
Краткий ответ
sessionStorage — это встроенный объект браузера, позволяющий сохранять данные в формате пар «ключ-значение» на время текущей сессии. Информация доступна только в той вкладке, где была создана, и удаляется после её закрытия.
Как это работает
Объект sessionStorage применяется для временного хранения данных, которые нужны только на время текущей сессии пользователя в браузере. В отличие от localStorage, данные в sessionStorage не сохраняются между сессиями и не доступны в других вкладках или окнах браузера.
Основные особенности:
- Время жизни: данные существуют до закрытия вкладки или окна;
- Область видимости: изолированы между вкладками, даже если они открыты на одном сайте;
- Хранит данные в формате строк (ключ и значение — строки).
| Характеристика | sessionStorage | localStorage |
|---|---|---|
| Время хранения | Пока открыта вкладка/окно | Постоянно (до очистки вручную) |
| Доступность | Только в той же вкладке | Во всех вкладках одного домена |
| Объем памяти | Обычно около 5 МБ | Обычно около 5 МБ |
Пример
// Сохранение данных в sessionStorage
sessionStorage.setItem('user', 'QA_engineer');
// Получение данных из sessionStorage
const user = sessionStorage.getItem('user');
console.log(user); // Выведет 'QA_engineer'
// Удаление данных
sessionStorage.removeItem('user');
// Очистка всех данных sessionStorage
sessionStorage.clear();
В примере показано, как сохранить, получить и удалить данные в рамках текущей сессии.
Что важно знать на собеседовании
sessionStorageсохраняет данные только на время текущей вкладки или окна браузера.- Данные из
sessionStorageнедоступны между разными вкладками, даже если они открыты на одном и том же сайте. - Все данные хранятся в виде строк, при необходимости нужно преобразовывать объекты через
JSON.stringifyиJSON.parse. sessionStorageподходит для хранения временных данных, не требующих сохранения между сессиями.
Тема: Web-тестирование и DevTools | Уровень: junior