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

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

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

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


Ошибка: Uncaught SyntaxError: Unexpected token return
  • Вопрос задан
  • 1585 просмотров
Подписаться 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 генерит ошибку
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект
18 дек. 2024, в 09:56
8000 руб./за проект