Локальное хранилище (localStorage) в браузере позволяет хранить данные для каждого домена в течение неограниченного времени (после закрытия вкладки браузера, самого браузера, перезагрузки компьютера). 2
Некоторые особенности работы localStorage:
- Формат хранения: данные хранятся в виде пар «ключ-значение», причём и ключ, и значение всегда сохраняются в виде строк. 5 Даже если сохранить числовое или логическое значение, оно автоматически преобразуется в строку. 5
- Запись данных: для записи используется метод
setItem('ключ', 'значение')
, который принимает два строковых параметра: ключ, по которому будет сохранено значение, и само значение. 4 - Чтение данных: за чтение отвечает
getItem('ключ')
, который указывает на ключ для чтения и возвращает полученное значение из хранилища. 4 Если по этому ключу нет значения, то метод вернёт null. 4 - Обновление данных: процедура обновления существующих данных в localStorage подобна созданию новой записи, по сути, происходит перезапись старых данных. 1
- Удаление данных: для удаления данных существует метод
removeItem
. 1
Некоторые ограничения localStorage:
- Привязка к источнику: хранилище привязано к источнику (домен/протокол/порт). 3 Это значит, что разные протоколы или поддомены определяют разные объекты хранилища, и они не могут получить доступ к данным друг друга. 3
- Ограничение по размеру: каждый браузер имеет свои ограничения на размер данных, который может быть сохранён в localStorage (обычно около 5–10 мегабайт). 5
- Инкогнито-режим: если пользователь открывает сайт в режиме инкогнито или приватного просмотра, localStorage может быть доступен для текущей сессии, но данные будут потеряны после закрытия этой сессии. 5