Код Middle Разминка: короткие функции обновлено

withDefaults

Условие

Верни объект, где отсутствующие или undefined поля взяты из defaults. Значения null и 0 не подменяются.

Что проверяют тесты

  • подставляет отсутствующее

  • ноль не подменяется

  • undefined подменяется

  • null сохраняется

Как подойти

Спред {...defaults, ...obj} сломается на явном undefined в obj - оно перезапишет дефолт. Поэтому цикл с проверкой на undefined. Ровно та же логика у параметров функции по умолчанию.

Подсказки: 1
  1. Только undefined означает «значения нет».

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.