localStorage.getItem() — прочитати значення зі сховища


Загальний опис

getItem — це метод, який дозволяє отримати значення, збережене в сховищі браузера за вказаним ключем. Він є частиною інтерфейсу localStorage або sessionStorage, який використовується для зберігання даних на стороні клієнта. Метод приймає один аргумент — key, який є рядком, що вказує на назву елемента, дані якого необхідно отримати. Якщо елемент із заданим ключем не існує, метод повертає null.

Використання

Метод getItem дозволяє отримувати збережені дані, наприклад, налаштування користувача, теми інтерфейсу або інформацію про авторизацію, зберігаючи її між сесіями.

Приклад використання:

// Збережемо деякі дані в localStorage
localStorage.setItem('username', 'JohnDoe');

// Отримаємо ці дані
let username = localStorage.getItem('username');
console.log(username); // Виведе "JohnDoe"

У цьому прикладі ми зберігаємо значення під ключем 'username' за допомогою методу setItem, а потім отримуємо його за допомогою методу getItem.

Особливості та обмеження

  • Якщо ключ не існує, метод поверне null. Це може призвести до непотрібних помилок, якщо програма не перевіряє значення перед використанням.
  • Дані, що зберігаються в сховищах, зберігаються як рядки. Тому, якщо потрібно зберегти складні типи даних (наприклад, об'єкти або масиви), їх потрібно попередньо перетворити в рядки за допомогою JSON.stringify і потім розпарсити через JSON.parse при отриманні.

Приклад з перетворенням:

// Зберігаємо об'єкт як рядок
const user = { name: "John", age: 30 };
localStorage.setItem('user', JSON.stringify(user));

// Отримуємо об'єкт з localStorage
let userData = localStorage.getItem('user');
userData = JSON.parse(userData);
console.log(userData.name); // Виведе "John"

У цьому прикладі об'єкт перед збереженням перетворюється на рядок, а після отримання — розпарсений назад у об'єкт.

автор: Bond

Порада

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

автор: Bond
Порада

При використанні об'єктів або масивів у localStorage, пам'ятайте, що ви не можете безпосередньо зберігати несеріалізовані структури даних. Тому перед тим як зберігати складні типи, обов'язково перетворюйте їх у рядки за допомогою JSON.stringify.

автор: Bond
Порада

Пам'ятайте, що дані з sessionStorage зберігаються лише до закриття вкладки або вікна браузера, тому, якщо потрібно зберігати дані між сесіями, використовуйте localStorage.

автор: Bond

Синтаксис

storage.getItem(key);

Повернення

value

Метод повертає значення, яке зберігається в локальному або сесійного сховищі за вказаним ключем. Якщо елемент з таким ключем не існує, метод повертає значення null.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
4 3.5 4 10.5 12 8
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 6 3.2
Підтримка: серверні переглядачі
Переглядач Deno
1.10

Приклади

+ запропонувати свій приклад у пісочниці

Цей приклад дозволяє користувачу ввести своє ім'я в текстове поле та зберегти його в localStorage за допомогою кнопки "Зберегти ім'я". Коли користувач натискає кнопку "Завантажити ім'я", система перевіряє, чи є дані в localStorage, і виводить привітальне повідомлення або повідомлення про те, що ім'я не знайдено.

Це дозволяє користувачеві зберігати налаштування (наприклад, ім'я або інші параметри) між сесіями, навіть якщо сторінка була перезавантажена.

HTML

<header>
  <h2 class="title">Збереження налаштувань користувача</h2>
  <p class="description">Цей приклад демонструє використання getItem для відображення збережених даних.</p>
</header>
<main>
  <div class="result">
    <label for="username">Введіть ваше ім'я:</label>
    <input type="text" id="username" placeholder="Напишіть ім'я">
    <button id="saveBtn">Зберегти ім'я</button>
    <button id="loadBtn">Завантажити ім'я</button>
    <p id="greeting"></p>
  </div>
</main>

CSS

body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

button {
  margin-top: 10px;
}

JS

// Функція для збереження імені в localStorage
document.getElementById('saveBtn').addEventListener('click', function () {
  const username = document.getElementById('username').value;
  localStorage.setItem('username', username);
  alert('Ім\'я збережено!');
});

// Функція для завантаження імені з localStorage
document.getElementById('loadBtn').addEventListener('click', function () {
  const savedUsername = localStorage.getItem('username');
  if (savedUsername) {
    document.getElementById('greeting').textContent = `Привіт, ${savedUsername}!`;
  } else {
    document.getElementById('greeting').textContent = 'Ім\'я не знайдено.';
  }
});
//# sourceURL=pen.js
автор: Bond

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

// Зберігаємо токен авторизації
const authToken = '12345abcdef';
localStorage.setItem('authToken', authToken);

// Перевіряємо, чи є токен і авторизуємо користувача
let token = localStorage.getItem('authToken');
if (token) {
    console.log('Користувач авторизований');
} else {
    console.log('Користувач не авторизований');
}
автор: Bond

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

// Зберігаємо налаштування теми
const themeSettings = { theme: 'dark', fontSize: '16px' };
localStorage.setItem('themeSettings', JSON.stringify(themeSettings));

// Отримуємо налаштування при завантаженні сторінки
let savedSettings = localStorage.getItem('themeSettings');
if (savedSettings) {
    savedSettings = JSON.parse(savedSettings);
    console.log(savedSettings.theme); // Виведе "dark"
}
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід