Логические операторы в JavaScript - как вы их используете?
Я не понимаю как &&
, ||
, а также !
работать... как с bools и другими типами данных. Как вы их используете?
2 ответа
Решение
Все значения в Javascript являются либо "правдивыми", либо "ложными".
a && b
оценивает до первого ложного операндаa || b
оценивает первый истинный операнд
Оба оператора не будут оценивать никакие операнды после одного возврата.
Если все операнды не совпадают, он будет оцениваться до последнего.
!a
оцениваетtrue
еслиa
это ложь иfalse
еслиa
это правда
Все значения правдивы, кроме следующих, которые являются ложными:
false
+0
-0
NaN
""
null
undefined
document.all
Если вы хотите проверить, что оба условия верны, используйте &&:
if (isX && isY)
{
// Do something.
}
Если вы хотите проверить, что одно или оба из двух условий верны, используйте ||:
if (isX || isY)
{
// Do something.
}
!
инвертирует логическое значение (истинное значение становится ложным и наоборот).