LenovoId
@LenovoId
svg, css,js

Где ошибка в switch case?

Скачал новый ( может быть и не новый) курс от Udemy и делаю точно как в лекции но вываливается то ли ошибка то ли не пойму что это .
Вот js :

let num = 50;

switch (num) {
    case num > 60:
         console.log("Нет, переменная меньше 60");
         break;
    case num < 40:
         console.log("Нет, переменная больше 40");
         break;
    case num == 50:
         console.log("Да, переменная ровна 50");
         break;
}


Это то из за чего не работает JavaScript (ES6) code snippets

[Deprecation] Element.createShadowRoot is deprecated and will be removed in M73, around March 2019. Please use Element.attachShadow instead. See https://www.chromestatus.com/features/4507242028072960 for more details.
createShadowTree @ include.preload.js:411
ElemHide @ include.preload.js:384
(anonymous) @ include.preload.js:512
[Violation] '2P_181d5151-666a-4b23-9dd3-0fe5446b5451' handler took 242ms


Как с этим бороться ?
  • Вопрос задан
  • 1282 просмотра
Решения вопроса 2
zendor
@zendor
В switch используется строгое сравнение ===, измените условие на switch(true), т.к. результатом ваших сравнений будет true/false.
Ответ написан
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
Оператор case не аналог оператора if, он не умеет обрабатывать условия, а сравнивает переменную с фиксированным значением.

https://learn.javascript.ru/switch

switch (num) {
    // никогда не сработает потому что если num>60 то будет сравнивать num c true если мешьше 60 то с false
    case num > 60:
         console.log("Нет, переменная меньше 60");
         break;

// никогда не сработает потому что если num<40 то будет сравнивать num c true если бльше 40 то с false
    case num < 40:
         console.log("Нет, переменная больше 40");
         break;

// никогда не сработает потому что если num=50 то будет сравнивать num c true
    case num == 50:
         console.log("Да, переменная ровна 50");
         break;
}


Наглядная демонстрация:
5cc06e799102a203388819.jpeg
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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