Значение stage по умолчанию в деструктуризации

Эквивалентная запись: const { stage = 'draft' } = options. Она подставляет значение только для отсутствующего поля или undefined и сохраняет null.

Короткий ответ

Что ответить на собеседовании

Эквивалентная запись: const { stage = 'draft' } = options. Она подставляет значение только для отсутствующего поля или undefined и сохраняет null.

Подробный разбор

Ответ с пояснениями

Условие

Нужно заменить const stage = options.stage === undefined ? 'draft' : options.stage деструктуризацией. options всегда объект; null в stage должен сохраняться.

Ответ

Эквивалентная запись: const { stage = 'draft' } = options. Она подставляет значение только для отсутствующего поля или undefined и сохраняет null.

Не заменяйте её на options.stage || 'draft': это изменит поведение для пустой строки, false и нуля. Оператор ?? также не полностью эквивалентен исходному условию, потому что заменит null. При вложенном объекте отдельный default нужен для каждого уровня, который может отсутствовать.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее