aboutsummaryrefslogtreecommitdiff
path: root/files/ru/glossary/falsy/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/glossary/falsy/index.md')
-rw-r--r--files/ru/glossary/falsy/index.md58
1 files changed, 58 insertions, 0 deletions
diff --git a/files/ru/glossary/falsy/index.md b/files/ru/glossary/falsy/index.md
new file mode 100644
index 0000000000..e315abb12e
--- /dev/null
+++ b/files/ru/glossary/falsy/index.md
@@ -0,0 +1,58 @@
+---
+title: Ложноподобное значение
+slug: Glossary/Falsy
+tags:
+ - CodingScripting
+ - Glossary
+ - JavaScript
+---
+**Ложноподобное** (**falsy**) значение — значение, которое становится `false` в {{Glossary("Boolean", "булевом")}} контексте.
+
+{{Glossary("JavaScript")}} использует {{Glossary("Type_Conversion", "преобразование типов")}}, чтобы привести значение к булевому типу, там, где это требуется (например, в {{Glossary("Conditional", "условных конструкциях")}} и {{Glossary("Loop", "циклах")}}.
+
+В следующей таблице приведен полный список ложноподобных значений JavaScript:
+
+| Значение | Описание |
+|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `false` | Ключевое слово [`false`](/ru/docs/Web/JavaScript/Reference/Lexical_grammar#future_reserved_keywords_in_older_standards). |
+| `0` | Ноль {{jsxref("Number")}} (к нему также относятся `0.0`, `0x0` и т.д.). |
+| `-0` | Отрицательный ноль типа {{jsxref("Number")}} (к нему также относятся `-0.0`, `-0x0` и т.д.). |
+| `0n` | Ноль типа {{jsxref("BigInt")}} (также `0x0n`). Обратите внимание, что не может быть негативного нуля типа {{jsxref("BigInt")}} — отрицательный `0n` равняется `0n`. |
+| `""`, `''`, ` `` ` | Значение, содержащее пустую [строку](/ru/docs/Web/JavaScript/Reference/Global_Objects/String) . |
+| {{Glossary("null")}} | [null](/ru/docs/Web/JavaScript/Reference/Global_Objects/null) — отсутствие какого-либо значения. |
+| {{Glossary("undefined")}} | [undefined](/ru/docs/Web/JavaScript/Reference/Global_Objects/undefined) — примитивное значение. |
+| {{Glossary("NaN")}} | [NaN](/ru/docs/Web/JavaScript/Reference/Global_Objects/NaN) — значение, не являющиеся числом. |
+| {{domxref("document.all")}} | Объекты считаются ложноподобными тогда и только тогда, когда у них есть внутренний слот [\[\[IsHTMLDDA\]\]](https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot). Этот слот есть только в объекте {{domxref("document.all")}}, и его задать через JavaScript. |
+
+## Примеры
+
+Примеры _ложноподобных_ значений в JavaScript (которые в булевых контекстах принудительно приводятся к false и таким образом _минуют_ блок `if`):
+
+```js
+if (false)
+if (null)
+if (undefined)
+if (0)
+if (-0)
+if (0n)
+if (NaN)
+if ("")
+```
+
+### Оператор логического И, &&
+
+Если первый операнд ложноподобен, то он будет возвращён в качестве результата:
+
+```js
+false && "dog"
+// ↪ false
+
+0 && "dog"
+// ↪ 0
+```
+
+## Смотрите также
+
+- {{Glossary("Truthy")}}
+- {{Glossary("Type_coercion")}}
+- {{Glossary("Boolean")}}