@Shan0102

Почему проверка на пустоту работает так?

не понимаю почему в этом коде
let num;
do {
  num = prompt("Введите число больше 100?", 0);
} while (num <= 100 && num); // непонятно

когда оставляешь ноль и нажимаешь ок то цикл срабатывает заново,
но если нажать отмена или ESC то цикл остановится.
Насколько я понял при отмене num принимает значение null,
а while должен повторить цикл если в () указано true значение.
но ведь и 0 и null в таком тесте
(num <= 100 && num)
должны оба выдавать значение false.
и только когда введено что то больше 0 то значение в () должно быть true.
Я не понимаю в чем истина
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
https://developer.mozilla.org/ru/docs/Web/API/Wind...
возвращает (возможно пустой) текст введённый пользователем в текстовое поле.

Для сравнения числа в строковом представлении и другого числа для начала надо конвертировать число из строки.
"" <= 100
true

Я не понимаю в чем истина

В таблице истинности JS.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы