DOM и React Middle DOM на практике обновлено
Безопасная работа с localStorage
Условие
readJSON(key, fallback) читает и разбирает JSON из localStorage. Если ключа нет, значение битое или хранилище недоступно - вернуть fallback, не бросая исключение.
Что проверяют тесты
читает значение
нет ключа
битый JSON
сохранённый null отличается от отсутствия
Как подойти
Три источника отказа: ключа нет, значение не разбирается, хранилище недоступно (приватный режим, отключённые куки, переполнение квоты). Все три закрываются одним try/catch плюс отдельной проверкой на null. Тонкость: строка 'null' - это валидно сохранённое значение null, его нельзя схлопывать с отсутствием ключа.
Подсказки: 2
- getItem возвращает строку или null - только null означает «ключа нет».
- JSON.parse может бросить, а сам доступ к localStorage - упасть в приватном режиме.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.