Boolean - garevna/js-course GitHub Wiki

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

Выражение "Яблоко красное и круглое" можно разложить на два выражения:

  • "Яблоко красное"
  • "Яблоко круглое"

которые называются операндами, а "и" является логической операцией

Каждое из этих двух выражений будет либо верно, либо нет

Выражение: "Яблоко красное и круглое" будет правдой тогда и только тогда, когда верно то, что яблоко красное, и то, что яблоко круглое

Выражение: "Завтра будет контрольная или диктант" будет справедливо в любом из случаев: либо если будет диктант, либо если будет контрольная

Выражение: "Моя кузина не умеет петь" будет ложным, если кузина хорошо поет

Поэтому все вышеперечисленное является логическими выражениями

Однако выражения:

  • "Пять и восемь"
  • "Селедка или семга"

не являются логическими, поскольку операнды ( "пять", "восемь", "селедка", "семга", ) логических операций "и" и "или" не являются логическими выражениями

ico25 Логические значения

Логических значений всего два: true (истина) и false (ложь)


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

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

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

cap-20 1

var x = 5
Выражение Результат
x == 8 false
x == 5 true
x == "5" true
x === 5 true
x === "5" false
x != 8 true
x !== 5 false
x !== "5" true
x !== 8 true
x > 8 false
x < 8 true
x >= 8 false
x <= 8 true
x <= 5 true
x >= 5 true

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

&&

логическое "И"
true  && true    //    true
true  && false   //    false
false && true    //    false
false && false   //    false

cap-20 2

5 > 8 && 4 < 5   // false  
// explanation:
5 > 8            // false,
4 < 5            // true,
false && true    // false

cap-20 3

8 > 5 && 4 < 5   // true
// explanation:
8 > 5            // true,
4 < 5            // true,
true && true     // true

cap-20 4

var    x = 4,    y = 10,    z = 8

x > y && z < y   // false
// explanation:
x > y            // false,
z < y            // true,
false && true    // false

cap-20 5

x < y && z < y   // true
// explanation:
x < y            // true,
z < y            // true,
true && true     // true

||

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

cap-20 6

5 > 8 || 4 < 5   // true
// explanation:
5 > 8            // false,
4 < 5            // true,
false || true    // true

cap-20 7

5 > 8 || 4 > 5   // false
// explanation:
5 > 8            // false,
4 > 5            // false,
false || false   // false

cap-20 8

var  x = 4,  y = 10,  z = 8

x > y || z < y   // true

// explanation:

x > y            // false,
z < y            // true,
false || true    // true

cap-20 9

x > y || z > y   // false

// explanation:

x > y            // false,
z > y            // false,
false || false   // false

!

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

cap-20 10

!(5 > 8)    // true

// explanation:

5 > 8      // false,
!false     // true

cap-20 11

!(5 > 4)   // false

// explanation:

5 > 4      // true,
!true      // false

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

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

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

x && !x    // всегда  false

cap-20 12

var x = undefined
var y = x || !x       // true
var z = x && !x       // undefined

cap-20 13

var x = null
var y = x || !x       // true
var z = x && !x       // null

cap-20 14

    var x = NaN
    var y = x || !x       // -->  true
    var z = x && !x       // -->  NaN

cap-20 15

var x = 5
var y = x || !x       // 5
var z = x && !x       // false

cap-20 16

var x = "h"
var y = x || !x       // "h"
var z = x && !x       // false

cap-20 17

var x = ""        // ( пустая строка )
var y = x || !x   // true
var z = x && !x   // ""

cap-20 18

var  x = 4,  y = 10

!( x > y )   // true

// explanation:

x > y        // false,
!( false )   // true

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

Логические выражения - это конструкции из переменных и/или констант, связанных между собой операторами сравнения и/или логическими операторами

Логические выражения принимают значения true или false

cap-20 Примеры логических выражений
x >= y
z == t
z === t
y != x  // значение y не равно значению x
y !== x // или значение y не равно значению x,
            // или тип данных y не совпадает с типом данных x

y != x
y !== x

x > 8 && y === 5
typeof x === "number" || x === null
!x === y


link-20 w3schools

⚠️ **GitHub.com Fallback** ⚠️