Логические операторы в 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.
}

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

Другие вопросы по тегам