Задать вопрос
@gifon

Выражение внутри switch?

Здравствуйте, можно ли в js сделать что-то типа
switch (var) {
            case var < 0:
              foo(1);
              break;
            case var > 0:
              foo(2);
              break;
            default:
              foo(3);
          }

Где кейсом было бы выражение
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
@wonderingpeanut
Приветствую. Можно, если изменить код:
switch (true) {
  case var < 5:
    ...
  case var > 5:
    ...
  default: 
    ...
}
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
Строгое равенство === выражения в switch() с очередным case должно дать true, чтобы выполнился код в этом case.

Поэтому ваш исходный код никогда не выполнит первый случай; 2-й выполнится только когда var = true а в остальных случаях будет срабатывать default. Наверное, не совсем то, что хотелось?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы