Як працює localStorage, sessionStorage і cookies у JavaScript?

localStorage, sessionStorage і cookies є трьома основними методами зберігання даних на клієнтському боці у JavaScript. Кожен з цих методів має свої особливості і використовується для різних цілей. Давайте розглянемо кожен з них детальніше:

Cookies

Cookies є одним з найстаріших методів зберігання даних на веб-сайтах. Вони використовуються для збереження даних на браузері користувача і передачі цих даних разом із кожним запитом на сервер. Cookies можуть бути використані для зберігання різноманітної інформації, такої як налаштування сесії, користувацькі вибори або дані автентифікації. Наразі від кукіс потрохи починають відмовлятись.

// Приклад
document.cookie = "username=John Doe; expires=Thu, 18 Jan 2025 12:00:00 UTC; path=/";

localStorage

localStorage дозволяє зберігати дані на довший проміжок часу на клієнтському боці, навіть після закриття вкладки браузера. Дані зберігаються без строку дії та доступні лише на тому ж домені, на якому вони були створені. localStorage корисний для зберігання даних, які потрібні для пізніших відвідувань веб-сайту.

// Приклад збереження у localStorage
localStorage.setItem("username", "John Doe");

sessionStorage

sessionStorage схожий на localStorage, але дані, які він зберігає, доступні лише під час поточної сесії браузера. Як тільки користувач закриє вкладку або вікно браузера, дані з sessionStorage будуть втрачені. sessionStorage зручно використовувати для тимчасового зберігання даних, наприклад, при перемиканні між сторінками веб-сайту.

// Приклад збереження у sessionStorage
sessionStorage.setItem("username", "John Doe");

Кожен з цих методів має свої переваги та обмеження. При проєктуванні веб-додатків важливо розуміти, який метод зберігання даних найбільш підходить для конкретного випадку. Наприклад, якщо потрібно зберігати дані на довший термін і доступ до них має бути із будь-якої вкладки чи вікна браузера, краще використовувати localStorage. У той же час sessionStorage може бути застосований, якщо потрібно, щоб дані були тимчасово доступні лише під час поточної сесії.

Зберігання даних на клієнтському боці у JavaScript може значно полегшити роботу з веб-додатками та покращити користувацький досвід. Обираючи між cookies, localStorage і sessionStorage, важливо розуміти їхні властивості та використовувати їх належним чином для досягнення найкращого результату.