Конструкция if..else с отрицательным условием

87
09 марта 2021, 15:00

Помогите, пожалуйста, прояснить ситуацию. Есть конструкция вида:

var status = 'medium';
if(status != 'strong' || status != 'medium'){
    console.log('легкий пароль');
}

Мне нужно вывести пользователю предупреждение, если он указал легкий пароль.

Я дословно читаю ее: "Если переменная status НЕ равна strong, либо НЕ равна medium, то вывести в консоль сообщение". В данном случае, при том, что переменная равна одному из условий, все равно выводится сообщение в консоль. Я не знаю почему, ведь конструкция в скобках представляется собой одно целое выражение. По крайней мере status != 'medium' должен возвращать false.

Вот то, как для меня это должно работать:

if(status == 'strong' || status == 'medium'){
}else{
    console.log('легкий пароль');
}

Как переписать это выражение с одним условием без else, где status не должен быть равен либо strong, либо medium?

Answer 1
if (status != 'strong' && status != 'medium') {
READ ALSO
Странности JS присваивание

Странности JS присваивание

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

76
Зашифрованый текст JS cfemail

Зашифрованый текст JS cfemail

Всем привет, на сайте есть такая запись:

114
При нажатии на мышь срабатывают сразу несколько событий из-за анимации (canvas игра)

При нажатии на мышь срабатывают сразу несколько событий из-за анимации (canvas игра)

Я уже задавал вопрос по этому проекту (В какой-то момент, отскакивающий от краёв канваса мяч, попадает в баг и ведет себя аномально), код тот...

105