HTML / CSSJavaScriptNode jsПаттерны проектированияПрактические

Логические выражения

Операторы сравнения

Сравнивают две переменных ( или два выражения ) и возвращают логическое значение

ОператорОписание
==нестрогое равенство ( равенство значений )
===строгое равенство ( равенство значений и типов данных )
!=нестрогое неравенство ( значения не равны )
!==строгое неравенство ( сравниваются не только значения, но и типы данных )
>больше
<меньше
>=больше или равно
<=меньше или равно

1var x = 5;
2
3console.log(x == 8) //false
4console.log(x == 5 ) //true
5console.log(x == "5") //true
6console.log(x === 5) // true
7console.log(x === "5") // false
8console.log(x != 8) //true
9console.log(x !== 5) //false
10console.log(x !== "5") //true
11console.log(x !== 8) //true
12console.log(x > 8) //false
13console.log(x < 8) //true
14console.log(x >= 8) //false
15console.log(x <= 8) //true
16console.log(x <= 5) //true
17console.log(x >= 5) //true

Логические операции

логическое "И" &&

Оператор И пишется как два амперсанда &&

ℹ️Важно

И «&&» находит первое ложное значение.

:one:

1true && true // true
2true && false // false
3false && true // false
4false && false // false

:two:

15 > 8 && 4 < 5 // false
2// explanation:
35 > 8 // false,
44 < 5 // true,
5false && true // false

:three:

18 > 5 && 4 < 5 // true
2// explanation:
38 > 5 // true,
44 < 5 // true,
5true && true // true

логическое "ИЛИ" ||

Оператор «ИЛИ» выглядит как двойной символ вертикальной черты

ℹ️Важно

ИЛИ «||» находит первое истинное значение.

:one:

1true || true // true
2true || false // true
3false || true // true
4false || false // false

:two:

15 > 8 || 4 < 5 // true
2// explanation:
35 > 8 // false,
44 < 5 // true,
5false || true // true

:three:

15 > 8 || 4 > 5 // false
2// explanation:
35 > 8 // false,
44 > 5 // false,
5false || false // false

Логическое отрицание !

Оператор принимает один аргумент и выполняет следующие действия:

  • Сначала приводит аргумент к логическому типу true/false.
  • Затем возвращает противоположное значение.

:one:

1!true // false
2!false // true

:two:

1!(5 > 8) // true
2
3// explanation:
4
55 > 8 // false,
6!false // true

:three:

1!(5 > 4) // false
2
3// explanation:
4
55 > 4 // true,
6!true // false

Для логических значений x, а так же значений null, NaN, undefined

1x || !x // всегда true

для логических значений x

1var x = true
2x && !x // всегда false
3var x1 = false
4x1 && !x1 // всегда false

:four:

1// undefined
2var x = undefined
3console.log(x || !x) // true
4console.log(x && !x) // undefined
5
6// null
7
8
9x = null
10console.log(x || !x) // true
11 console.log(x && !x) // null
12
13// NaN
14
15x = NaN
16console.log(x || !x) // true
17console.log(x && !x) // NaN
18
19// Number
20x = 5
21console.log(x || !x) // 5
22console.log(x && !x) // false
23
24// String
25
26 x = "string"
27console.log(x || !x) // "string"
28console.log(x && !x) // false
29
30x = "" // ( пустая строка )
31console.log(x || !x) // true
32console.log(x && !x) // ""
Hello