Modern JS Cheatsheet / Памятка по современному JavaScript: Истина / Ложь
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
### Истина / Ложь a_popova 05.10.17 в 15:59 |
+1 |
|
В JavaScript "истинность" или "ложность" значения определяется при вычислении этого значения в булевом контексте. Примером булева контекста может быть вычисление в условии ```if```: a_popova 05.10.17 в 16:00 |
||
|
Любое значение будет приведено к ```true (истина)```, кроме: a_popova 05.10.17 в 16:00 |
||
|
- false (ложь) a_popova 05.10.17 в 16:01 |
||
|
Вот примеры *булева контекста*: a_popova 05.10.17 в 16:01 |
||
|
- значение условия ```if``` a_popova 05.10.17 в 16:02 |
||
|
Значение ```myVar``` может быть любым [объектом первого класса](https://en.wikipedia.org/wiki/First-class_citizen) (переменная, функция, логическое значение), но оно будет переведено в логическое значение, поскольку оно вычисляется в булевом контексте. a_popova 05.10.17 в 16:02 |
||
|
- После логического оператора **NOT** ```!``` a_popova 05.10.17 в 16:03 |
||
|
Этот оператор возвращает значение "ложь", если его единственный операнд может быть преобразован к значению "истина"; иначе он возвращает значение "истина". a_popova 05.10.17 в 16:03 |
||
|
```js a_popova 05.10.17 в 16:04 |
||
|
- Конструктор объектов типа *Boolean* a_popova 05.10.17 в 16:05 |
||
|
```js a_popova 05.10.17 в 16:06 |
||
|
- Тернарный оператор a_popova 05.10.17 в 16:06 |
||
|
```js a_popova 05.10.17 в 16:06 |
||
|
Значение myVar вычисляется в булевом контексте. a_popova 05.10.17 в 16:06 |
