Использовать оператор ИЛИ вместо if
сделайте капризного робота, который в confirm спрашивает "шопинг?", а в случае отказа - выводить alert "ты - бяка".
var answer = confirm("Shopping?");
answer && alert(":))") || answer && alert("You are a caca!!!");
Логический оператор ИЛИ выводит первое значение, равное true, а в моем случае идет дальше. Почему?
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
Потому что alert ничего не возвращает.
var answer = confirm("Shopping?");
answer && !alert(":))") || alert("You are a caca!!!");
Автор решения: Grundy
→ Ссылка
Логический оператор ИЛИ выводит первое значение, равное true
В данном случае, первым операндом будет выражение
answer && alert(":))")
и так как alert возвращает undefined, значение выражения приводится к false, из-за этого идет вычисление второго аргумента