Что выведет код Junior Ошибки обновлено

return в finally

Вопрос

Что выведет код? По строке на каждый вывод.

function f() {
  try { return 'try'; }
  finally { console.log('finally'); }
}
console.log(f());

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: finally, try. Почему так finally выполняется всегда; если в нём есть свой return, он перекроет значение из try - поэтому так лучше не делать.

Что выведет

finally
try

Разбор

Почему так

finally выполняется всегда; если в нём есть свой return, он перекроет значение из try - поэтому так лучше не делать.

Вывод

finally
try

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме