Задача · Ошибки · урок 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.
Не добавляйте лишних импортов, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.