Что выведет код Junior Современный синтаксис обновлено
Опциональный вызов
Вопрос
Что выведет код? По строке на каждый вывод.
const obj = { fn: null, method() { return 'работает'; } };
console.log(obj.fn?.());
console.log(obj.method?.());
console.log(obj.missing?.());
console.log(obj.method?.() ?? 'дефолт');
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: undefined, работает, undefined, работает. Почему так Опциональный вызов заменяет проверку typeof fn === 'function'.
Что выведет
undefined
работает
undefined
работает
Разбор
Почему так
Опциональный вызов заменяет проверку typeof fn === 'function'. Удобен для необязательных колбэков в пропсах: onChange?.(value).
Вывод
undefined
работает
undefined
работает
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.