|
@@ -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 |
|