Логические выражения
Операторы сравнения
Сравнивают две переменных ( или два выражения ) и возвращают логическое значение
Оператор | Описание |
---|---|
== | нестрогое равенство ( равенство значений ) |
=== | строгое равенство ( равенство значений и типов данных ) |
!= | нестрогое неравенство ( значения не равны ) |
!== | строгое неравенство ( сравниваются не только значения, но и типы данных ) |
> | больше |
< | меньше |
>= | больше или равно |
<= | меньше или равно |
1var x = 5;23console.log(x == 8) //false4console.log(x == 5 ) //true5console.log(x == "5") //true6console.log(x === 5) // true7console.log(x === "5") // false8console.log(x != 8) //true9console.log(x !== 5) //false10console.log(x !== "5") //true11console.log(x !== 8) //true12console.log(x > 8) //false13console.log(x < 8) //true14console.log(x >= 8) //false15console.log(x <= 8) //true16console.log(x <= 5) //true17console.log(x >= 5) //true
Логические операции
логическое "И" &&
Оператор И пишется как два амперсанда &&
Важно
И «&&» находит первое ложное значение.
:one:
1true && true // true2true && false // false3false && true // false4false && false // false
:two:
15 > 8 && 4 < 5 // false2// explanation:35 > 8 // false,44 < 5 // true,5false && true // false
:three:
18 > 5 && 4 < 5 // true2// explanation:38 > 5 // true,44 < 5 // true,5true && true // true
логическое "ИЛИ" ||
Оператор «ИЛИ» выглядит как двойной символ вертикальной черты
Важно
ИЛИ «||» находит первое истинное значение.
:one:
1true || true // true2true || false // true3false || true // true4false || false // false
:two:
15 > 8 || 4 < 5 // true2// explanation:35 > 8 // false,44 < 5 // true,5false || true // true
:three:
15 > 8 || 4 > 5 // false2// explanation:35 > 8 // false,44 > 5 // false,5false || false // false
Логическое отрицание !
Оператор принимает один аргумент и выполняет следующие действия:
- Сначала приводит аргумент к логическому типу
true
/false
. - Затем возвращает противоположное значение.
:one:
1!true // false2!false // true
:two:
1!(5 > 8) // true23// explanation:455 > 8 // false,6!false // true
:three:
1!(5 > 4) // false23// explanation:455 > 4 // true,6!true // false
Для логических значений x
, а так же значений null
, NaN
, undefined
1x || !x // всегда true
для логических значений x
1var x = true2x && !x // всегда false3var x1 = false4x1 && !x1 // всегда false
:four:
1// undefined2var x = undefined3console.log(x || !x) // true4console.log(x && !x) // undefined56// null789x = null10console.log(x || !x) // true11 console.log(x && !x) // null1213// NaN1415x = NaN16console.log(x || !x) // true17console.log(x && !x) // NaN1819// Number20x = 521console.log(x || !x) // 522console.log(x && !x) // false2324// String2526 x = "string"27console.log(x || !x) // "string"28console.log(x && !x) // false2930x = "" // ( пустая строка )31console.log(x || !x) // true32console.log(x && !x) // ""