Przeglądaj źródła

logical operators

me@helium 8 lat temu
rodzic
commit
f118a4a95c
1 zmienionych plików z 84 dodań i 0 usunięć
  1. 84 0
      02.md

+ 84 - 0
02.md

@@ -1,5 +1,7 @@
 # Условия, Boolean, Логические операторы 
 
+## **Присвоение**
+
 ## Типы данных JS
 
 ### Числа.
@@ -83,4 +85,86 @@ var a; //значение a - undefined
 `null` - в целом аналогичен `undefined`, но предназначен для использования его программистом. Т. е. если вы хотите пометить переменную как *пустую* -
 используйте `null`
 
+## Операции сравнения и булевы операции.
+
+Каждая переменная или *литеральное значение* могут быть предметом сравнения с другими значениями:
+
+### Равенство
+```javascript
+1 == 2
+1 != 2
+1 == 1
+1 != 1
+"text" == 5
+"text" != 5
+"text" == "Text"
+"text" == "text"
+true   == "true"
+true   == false
+false  == 0
+false  === 0
+""     == false
+""     !== false
+```
+
+### Больше, меньше...
+```javascript
+5 > 6
+6 > 5
+5.0 >= 5
+"a" < "b"
+"b" <= "a"
+```
+
+Результатом таких операций является значение типа `Boolean`, то есть `true` или `false`
+
+### Логические операции
+
+#### **Не** `!`
+
+```javascript
+5 == 5
+5 != 5
+!true
+!false
+!(5 == 5)
+!(5 != 5)
+!!0
+```
+
+Как видите, **не** позволяет инвертировать булево значение. *Двойное не* позволяет получить *приведенное к типу* `Boolean` значение переменной.
+
+#### **Или** `||`
+
+**Или** позволяет объединять несколько булевых значений в одно, по следующей логике: **Если A или B истинно**, то результат - истина. Иначе - результат
+ложный:
+
+```javascript
+var isDrunk = isDrunkByBeer || isDrunkByVodka //если пили или водку, или пиво, все равно пьяные :-)
+var isFlyable = isFly || isBird || isAircraft //что-то может летать, если это нечто - самолет, муха или птица, не важно что это.
+```
+
+Таблица истинности:
+|    A   |   B   |     |
+| ------ | ----- | --- |
+| false  | false | false |
+| true   | false | true  |
+| false  | true  | true |
+| true   | true  | true  |
+
+#### **И** `&&`
+
+**И** требует что бы ВСЕ операнды были истинны, иначе результат ложен:
+
+```javascript
+var isBodun   = isDrunkByBeer &&  isDrunkByVodka //если пили и водку, и пиво, то бодун :-)
+var isYoung   = age > 16 && age < 30 // человек молод от 16 до 30.
+```
 
+Таблица истинности:
+|    A   |   B   |     |
+| ------ | ----- | --- |
+| false  | false | false |
+| true   | false | false |
+| false  | true  | false |
+| true   | true  | true  |