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