Get In Touch
admin@victoriaweb.me
Back

Локальне сховище JavaScript

В процесі навчання JavaScript я вирішила зробити маленький пет проект (лендінг) для кращого зрозуміння матеріалу. Одним з елементів на сторінці є форма для додавання туру в базу даних, так як бази даних в мене немає, і в процесі дебагінгу щоразу заповнювати всі обовязкові поля туру просто не хочеться, мені ментор порадив використовувати локальне сховище браузера – Local Storage.

localStorage зручний для оптимізації процесу розробки веь сторінок. В нашому випадку, при створенні форми додавання туру, тому що при перезавантаженні сторінки дані нікуди не пропадуть, а будуть збережені.

Сам процес додавання даних в локальне сховище складається з декількох етапів:

1. Зберереження даних

Використовуємо метод:

setItem(key, value)

localStorage.setItem('ключ', 'значення');

2. Відображення раніше збережених даних

Використовуємо метод:

getItem(key)

localStorage.getItem('ключ');

3. Видалення раніше збережених даних

Використовуємо метод:

removeItem(key)

localStorage.removeItem('ключ');
Chrome local storage screenshot

Об’єкт localStorage дозволяє зберігати пари ключ/значення у браузері без терміну дії.

1
localStorage.setItem(key, value);

Збереження даних

JavaScript
  • Витягуємо існуючі тури з localStorage, або створюємо пустий масив, якщо даних немає.
  • Додаємо новий тур до масиву.
  • Зберігаємо оновлений масив назад у localStorage у форматі JSON.

Відображення раніше збережених даних

JavaScript
  • Очищаємо список турів.
  • Отримуємо тури з localStorage.
  • Створюємо обгортку для турів.
  • Для кожного туру створюємо div, заповнюємо його інформацією про тур та додаємо у список.
JavaScript

Відображення турів при завантаженні сторінки:

JavaScript

Де:

  • Викликаємо displayTours при завантаженні сторінки, щоб показати раніше збережені тури.

Порівняння localStoragesessionStorage та cookies

Окрім localStorage є ще подібні сховища про які варто загадати, часто їх порівнюють тому нижче табличка з порівняннм:

ВластивістьlocalStoragesessionStoragecookies
Обсяг~5MB~5MB~4KB
Термін зберіганняБезстроковоДо закриття вкладкиВстановлюється вручну
Відправляється на сервер❌ Ні❌ Ні✅ Так
СеріалізаціяТак (рядки)Так (рядки)Так (рядки)
Доступ з JavaScript✅ Так✅ Так✅ Так

Обмеження localStorage

  • Обсяг: до 5MB, може бути менше на мобільних.
  • Формат: зберігає лише рядки. Якщо хочеш зберегти об’єкт — треба робити:
JavaScript
  • Безпека: доступний усьому JavaScript-коду на сторінці — не можна зберігати паролі, токени тощо.

Обробка винятків та перевірка підтримки

JavaScript

Браузери в режимі “інкогніто” або при переповненні сховища можуть кидати помилки — це варто враховувати.

Повний HTML CSS JS код для форми додавання турів можна протестити на Codepen

Victoriia Hladka
Victoriia Hladka
https://victoriaweb.me