0Pricing
HTML Academy · Урок

Получение, установка и удаление элементов

Используйте Web Storage API для чтения и записи данных

«Получение, установка и удаление элементов» — бесплатный урок HTML Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения HTML Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс HTML Academy содержит 4 уроков всего.

Возможности API хранилища

И localStorage, и sessionStorage предоставляют одинаковые четыре основных метода: getItem(key), setItem(key, value), removeItem(key) и clear(). Это простые хранилища пар «ключ — значение», реализованные браузером.

setItem сохраняет строки

localStorage.setItem("theme", "dark") сохраняет строку под ключом "theme". И ключ, и значение должны быть строками — значения других типов перед сохранением неявно преобразуются в строки, что незаметно портит объекты и массивы.

localStorage.setItem("theme", "dark");
localStorage.setItem("count", "42");

Хранение объектов с помощью JSON

Чтобы сохранить структурированные данные, сериализуйте их в формате JSON: localStorage.setItem("user", JSON.stringify(user)). Прочитать их обратно можно так: const user = JSON.parse(localStorage.getItem("user")). Всегда обрабатывайте parse в блоке перехвата ошибок на случай, если сохранённое значение имеет неверный формат.

const user = { name: "Ada", age: 30 };
localStorage.setItem("user", JSON.stringify(user));
const loaded = JSON.parse(localStorage.getItem("user"));

getItem возвращает строку или null

getItem("missing") возвращает null, если ключ не существует, — никогда не undefined. Используйте оператор объединения с null для задания значения по умолчанию: const theme = localStorage.getItem("theme") ?? "light".

Синтаксис доступа к свойствам

Также можно использовать скобочную и точечную нотацию: localStorage.theme = "dark" и localStorage["theme"]. Оба варианта работают, но скрывают намерение — предпочитайте явные вызовы методов, которые ясно показывают, что это постоянное хранилище, а не свойство объекта.

removeItem и очистка

localStorage.removeItem("theme") удаляет один ключ. localStorage.clear() удаляет все ключи текущего источника. Полная очистка разрушительна — никогда не вызывайте её без веской причины: она удаляет данные, установленные каждым скриптом на странице.

Перебор сохранённых ключей

Используйте localStorage.length и localStorage.key(index), чтобы перебрать все сохранённые ключи, или применяйте оператор расширения к Object.keys(localStorage). Это полезно при миграциях, отладке и очистке по префиксу, например при удалении всех ключей, начинающихся с "cache:".

for (let i = 0; i < localStorage.length; i++) {
  const key = localStorage.key(i);
  console.log(key, localStorage.getItem(key));
}

Ошибки превышения квоты

Браузеры выделяют примерно от 5 до 10 MB для каждого источника. Превышение квоты вызывает ошибку QuotaExceededError. Оборачивайте setItem в конструкцию try/catch при сохранении потенциально больших значений, например кэша изображений или черновиков документов, чтобы ошибка не привела к сбою приложения.

try {
  localStorage.setItem("draft", largeString);
} catch (e) {
  if (e.name === "QuotaExceededError") {
    // free space, warn user, or fall back
  }
}

Пространства имён ключей

Хранилище является общим для всего источника. Добавляйте к ключам префикс с названием приложения или функции (app:settings, cart:items), чтобы избежать конфликтов с другими скриптами, сторонними библиотеками и расширениями браузера, работающими в том же источнике.

Синхронная и блокирующая работа

API хранилища полностью синхронен — каждый вызов блокирует главный поток до завершения дискового ввода-вывода. Не сохраняйте очень большие двоичные объекты и не вызывайте setItem в тесных циклах; вместо этого объединяйте обновления в один сериализованный объект.

sessionStorage и localStorage

Одинаковый API, но разный срок действия. sessionStorage очищается при закрытии вкладки, а localStorage сохраняется после перезапуска браузера. Выбирайте sessionStorage для временного состояния мастера, а localStorage — для пользовательских настроек, которые должны сохраняться после перезагрузки.

Проверка знаний

Что возвращает localStorage.getItem("missing-key"), если этот ключ никогда не устанавливался?

Итоги

getItem, setItem, removeItem и операция очистки — четыре основы веб-хранилища. Значения всегда являются строками, поэтому структурированные данные следует оборачивать в JSON. Учитывайте возврат null, ошибку QuotaExceededError и используйте пространства имён, чтобы совместно и без конфликтов использовать источник с другими скриптами.

Часто задаваемые вопросы

Урок «Получение, установка и удаление элементов» бесплатный?

Да — полный текст урока «Получение, установка и удаление элементов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс HTML Academy, подпишись на CoddyKit PRO. Курс HTML Academy содержит 4 уроков всего.

Чему я научусь в уроке «Получение, установка и удаление элементов»?

Используйте Web Storage API для чтения и записи данных Ты практикуешь HTML Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать HTML Academy?

Предыдущий опыт не требуется. HTML Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Получение, установка и удаление элементов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке HTML Academy?

Да. Каждый урок HTML Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. localStorage и sessionStorage
  2. Получение, установка и удаление элементов
  3. Отслеживание событий хранилища
  4. Безопасность: что никогда не следует хранить в хранилище
← Назад к HTML Academy