Если я использую цикл while то у меня появляется второй prompt, но что бы я не написал,он не закрывается.А если я использую if,то чтобы я не написал во втором prompt, он закроется.Что бы я ни написал в первом prompt при if или while, он перейдёт ко второму prompt.Подскажите,как сделать правильно
let a = prompt();
while (a != 'yes' || a != 'no') {
a = prompt('a is not yes or no');
}
Ну так, это условие всегда true, по той простой причине, что a не может быть сразу yes и no, чтобы в обоих условиях было false. Законом де-Моргана можно перевести данное условие в !(a === 'yes' && a === 'no')
выглядит подозрительно, не находите? Поэтому да, вы перепутали оператор.