Содержание

Вебсховище

Це механізм у веббраузерах, який дозволяє вебдодаткам зберігати та отримувати дані на стороні клієнта, тобто на комп'ютері користувача. Щоразу, коли ти змінюєш тему кольорів між світлою і темною, переглядаєш відео, додаєш товар у кошик, відкриваєш або закриваєш сайдбар, популярні вебзастосунки можуть запам'ятовувати стан інтерфейсу і в наступному відвідуванні відновлювати його.

Сookie

Web Storage API

Інструменти розробника

Локальне сховище. window.localStorage

Доступ до локалього сховища

console.log(window.localStorage);
// Storage {length: 0}

setItem

Додавання даних до локального сховища

localStorage.setItem("ui-theme", "light");
const settings = {
  theme: "dark",
  isAuthenticated: true,
  options: [1, 2, 3],
};

localStorage.setItem("settings", JSON.stringify(settings));

getItem

дозволяє зчитати зі сховища запис із ключем key і повертає його значення у JSON форматі.

const savedTheme = localStorage.getItem("ui-theme"); 
console.log(savedTheme); // "light"

removeItem

Видаляє зі сховища існуючий запис з ключем key. В результаті своєї роботи він не повертає значення.

localStorage.setItem("ui-theme", "dark");
console.log(localStorage.getItem("ui-theme")); // "dark"

localStorage.removeItem("ui-theme");
console.log(localStorage.getItem("ui-theme")); // null
localStorage.clear();

Сховище сессії. window.sessionStorage

Доступ до сховища сесії

console.log(window.sessionStorage);
// Storage {length: 0}

setItem

Додавання даних до сховища сесії

sessionStorage.setItem("ui-theme", "light");
const settings = {
  theme: "dark",
  isAuthenticated: true,
  options: [1, 2, 3],
};

sessionStorage.setItem("settings", JSON.stringify(settings));

getItem

дозволяє зчитати зі сховища сесії запис із ключем key і повертає його значення у JSON форматі.

const savedTheme = sessionStorage.getItem("ui-theme"); 
console.log(savedTheme); // "light"

removeItem

Видаляє зі сховища сесії існуючий запис з ключем key. В результаті своєї роботи він не повертає значення.

sessionStorage.setItem("ui-theme", "dark");
console.log(sessionStorage.getItem("ui-theme")); // "dark"

sessionStorage.removeItem("ui-theme");
console.log(sessionStorage.getItem("ui-theme")); // null
sessionStorage.clear();

key

отримання ключа за індексом

const myKey = localstorage.key(0);