Почему в return нельзя вставить if
function(foo){
return( if(...){...}else{...} )
}
Тернарный оператор работает как нужно.
function(foo){
return( x ? y : z )
}
Обратимся к спецификации:
ReturnStatement[Yield, Await]:
return ;
return [no LineTerminator here] Expression[+In, ?Yield, ?Await];
Здесь видно, что после return должно идти выражение, в то время как if является statement
Поэтому нельзя делать return if...
В то же время тернарный оператор является выражением именно поэтому его допустимо использовать вместе с return.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники