Логические операторы в JavaScript - как вы их используете? - PullRequest
1 голос
/ 27 декабря 2010

Я не понимаю, как &&, || и ! работают ... как с bools, так и с другими типами данных.Как вы их используете?

Ответы [ 2 ]

6 голосов
/ 27 декабря 2010

Все значения в Javascript являются либо "правдивыми", либо "ложными".

  • a && b оценивает первый операнд ложного значения
  • a || b оценивает первый операнд истинного

Оба оператора не будут оценивать никакие операнды после одного возврата.
Если все операнды не совпадают, он будет вычисляться до последнего.

  • !a оценивается как true, если a неверно и false, если a верно.

Все значения соответствуют действительностикроме следующих, которые фальсифицированы :

  • false
  • +0
  • -0
  • NaN
  • ""
  • null
  • undefined
  • document.all
1 голос
/ 27 декабря 2010

Если вы хотите проверить, что оба из двух условий верны, используйте &&:

if (isX && isY)
{
     // Do something.
}

Если вы хотите проверить один или оба издва условия верны, тогда используйте ||:

if (isX || isY)
{
     // Do something.
}

! инвертирует логическое значение (истинное значение становится ложным, и наоборот).

...