Задать вопрос
@nak-alexey

Почему не работает такая конструкция?

Уважаемые гуру front-end(-а) почему при такой записи компилятор ругается?
(переменная!=значение) ? return 'что то' : continue;

А при такой все норм!
if (переменная!=значение) return 'что то';
else continue;


Ошибка: Uncaught SyntaxError: Unexpected token return
  • Вопрос задан
  • 1594 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Тернарный оператор возвращает значение. Это не то же самое, что if .. else

условие ? выражение_1 : выражение_2 – эта конструкция принимает то или иное значение: выражение_1 или выражение_2.

Нельзя ставить в тернарный оператор continue или return потому, что это не выражения, принимающие какие-то значения, а управляющие структуры.

Если бы вы выбирали, что вернуть, можно было бы написать return isItTrue ? A : B;

В вашем же случае выбора между return и continue годится только старый добрый if .. else
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Coder321
Тернарный оператор сам по себе делает return, так что повторной вызов return генерит ошибку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
18 янв. 2025, в 07:20
50000 руб./за проект
18 янв. 2025, в 03:12
1000 руб./за проект
18 янв. 2025, в 00:01
500 руб./за проект