Це механізм у веббраузерах, який дозволяє вебдодаткам зберігати та отримувати дані на стороні клієнта, тобто на комп'ютері користувача. Щоразу, коли ти змінюєш тему кольорів між світлою і темною, переглядаєш відео, додаєш товар у кошик, відкриваєш або закриваєш сайдбар, популярні вебзастосунки можуть запам'ятовувати стан інтерфейсу і в наступному відвідуванні відновлювати його.
Доступ до локалього сховища
console.log(window.localStorage);
// Storage {length: 0}
Додавання даних до локального сховища
localStorage.setItem("ui-theme", "light");
const settings = {
theme: "dark",
isAuthenticated: true,
options: [1, 2, 3],
};
localStorage.setItem("settings", JSON.stringify(settings));
дозволяє зчитати зі сховища запис із ключем key і повертає його значення у JSON форматі.
const savedTheme = localStorage.getItem("ui-theme");
console.log(savedTheme); // "light"
Видаляє зі сховища існуючий запис з ключем 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();
Доступ до сховища сесії
console.log(window.sessionStorage);
// Storage {length: 0}
Додавання даних до сховища сесії
sessionStorage.setItem("ui-theme", "light");
const settings = {
theme: "dark",
isAuthenticated: true,
options: [1, 2, 3],
};
sessionStorage.setItem("settings", JSON.stringify(settings));
дозволяє зчитати зі сховища сесії запис із ключем key і повертає його значення у JSON форматі.
const savedTheme = sessionStorage.getItem("ui-theme");
console.log(savedTheme); // "light"
Видаляє зі сховища сесії існуючий запис з ключем 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();
отримання ключа за індексом
const myKey = localstorage.key(0);