JavaScript: неверно, если оператор выполнен - PullRequest
0 голосов
/ 28 октября 2019

У меня есть несколько операторов if, которые выводят строки из соответствующего списка в зависимости от ввода (feelsLike).

Код

Сначала он печатает диапазон, в котором находится feelsLike, а затем добавляет все строки в списке в строку. Из консоли мы можем проверить, что feelsLike равен 14, но каким-то образом он выполняет console.log во втором операторе if (6 <= feelsLike <= 9). Подскажите, пожалуйста, что я делаю не так? </p>

Консольный вывод

1 Ответ

4 голосов
/ 28 октября 2019

6 <= feelsLike <= 9

Это не работает так, как вы хотите. Он не будет проверять, находится ли feelsLike между 6 и 9. Вместо этого он будет проверять, если 6 <= feelslike, и это разрешает либо true, либо false. Если предположить, что оно ложно, следующая вещь, которую он проверит, это false <= 9. Это сравнение не имеет особого смысла, поэтому javascript превращает false в число, в частности 0 (значение true превращается в 1). 0 меньше или равно 9, поэтому конечный результат равен true.

Вместо этого выполните 6 <= feelsLike && feelsLike <= 9

...