Когда происходит автоматическая очистка данных в sessionStorage?

«Когда происходит автоматическая очистка данных в sessionStorage?» — вопрос из категории Веб-тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Данные в sessionStorage автоматически очищаются при закрытии вкладки браузера (или окна браузера, если это последняя вкладка).

Ключевые особенности:

  • Область видимости: Данные привязаны к протоколу, домену и порту (как и localStorage), но также изолированы в рамках конкретной вкладки/сессии.
  • Сохранение при обновлении: Данные сохраняются при перезагрузке страницы (F5, location.reload()).
  • Новая вкладка = новое хранилище: Открытие страницы в новой вкладке создает новый, независимый экземпляр sessionStorage, даже если это тот же URL.

Пример работы с API:

// Запись данных
sessionStorage.setItem('userToken', 'abc123xyz');
sessionStorage.setItem('lastVisitedPage', '/dashboard');

// Чтение данных
const token = sessionStorage.getItem('userToken'); // 'abc123xyz'

// Удаление конкретного элемента
sessionStorage.removeItem('lastVisitedPage');

// Полная очистка хранилища (вручную)
sessionStorage.clear();

// Проверка количества элементов
const count = sessionStorage.length;

Для долговременного хранения данных между сессиями используется localStorage.