Почему в 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.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости