Выбор ответа Junior Современный синтаксис обновлено
Деструктуризация null
Вопрос
Что произойдёт при вызове show(null)?
function show({ title = 'Без названия' } = {}) {
return title;
}
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Бросит TypeError. Значение по умолчанию параметра = {} срабатывает только для undefined.
Варианты ответа
- Вернёт
'Без названия' - Вернёт
null - Бросит TypeErrorправильный ответ
- Вернёт
undefined
Разбор
Значение по умолчанию параметра = {} срабатывает только для undefined. При null оно не подставляется, и движок пытается деструктурировать null, что бросает TypeError: Cannot destructure property 'title' of null. show() и show(undefined) вернули бы 'Без названия'. Если null возможен, пишут function show(props) { const { title = '...' } = props ?? {}; }.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.