Перейти к содержимому
Задача · Ошибки · урок 9 из 10

Задача: JSON или запасное значение

Напишите функцию function parseJsonOr(text, fallback, check), которая разбирает строку JSON, передаёт получившееся значение в функцию check и возвращает это значение. Если text — неверный JSON, функция не бросает ошибку, а возвращает fallback. Ошибка, которую бросила check, выходит из функции наружу без изменений.

  • parseJsonOr("[1, 2]", [], () => {}) → [1, 2]
  • parseJsonOr("{ bad", "none", () => {}) → "none"
  • parseJsonOr('"hi"', 0, mustBeNumber) → бросает TypeError, который бросила mustBeNumber: она проверяет, что значение — число

Ограничения: text — всегда строка, в том числе пустая (это неверный JSON); значение из верного JSON возвращается, даже когда это null, false или 0; fallback возвращается как есть, без вызова check.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

parse-json-or.js — javascript
javascript · строк: 4
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом