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

Почему не работает оператор или?

Если я использую цикл while то у меня появляется второй prompt, но что бы я не написал,он не закрывается.А если я использую if,то чтобы я не написал во втором prompt, он закроется.Что бы я ни написал в первом prompt при if или while, он перейдёт ко второму prompt.Подскажите,как сделать правильно

let a = prompt();
while (a != 'yes' || a != 'no') {
a = prompt('a is not yes or no');
}
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Stepik
    JavaScript с нуля - основы языка и практика для начинающих
    2 недели
    Далее
  • Merion Academy
    Фронтенд-разработчик с нуля
    4 месяца
    Далее
  • Skypro
    JavaScript-разработчик с нуля
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Ну так, это условие всегда true, по той простой причине, что a не может быть сразу yes и no, чтобы в обоих условиях было false. Законом де-Моргана можно перевести данное условие в
!(a === 'yes' && a === 'no')
выглядит подозрительно, не находите? Поэтому да, вы перепутали оператор.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
tema_sun
@tema_sun
Потому что вы хотите И, а не ИЛИ там.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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