Выбор ответа Middle Современный синтаксис обновлено
?? вместе с || без скобок
Вопрос
Что произойдёт при разборе этой строки?
const title = custom || fallback ?? 'Без названия';
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: SyntaxError: ?? нельзя смешивать с и && без скобок. Спецификация запрещает комбинировать ?? с или && в одном выражении без явных скобок, потому что приоритет неочевиден.
Варианты ответа
- Сначала выполнится
??, потом|| - Сначала выполнится
||, потом?? - Операторы выполнятся слева направо с одинаковым приоритетом
- SyntaxError:
??нельзя смешивать с||и&&без скобокправильный ответ
Разбор
Спецификация запрещает комбинировать ?? с || или && в одном выражении без явных скобок, потому что приоритет неочевиден. Это ошибка разбора, код не запустится. Нужно выбрать порядок явно: (custom || fallback) ?? 'Без названия' или custom || (fallback ?? 'Без названия'). Варианты про порядок выполнения описывают поведение, которого нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.