aboutsummaryrefslogtreecommitdiff
path: root/files/ru/glossary/truthy/index.md
blob: e4fbdf4ef01243bdd6d9e49fd7721ac113836ea5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---
title: Истинноподобное значение
slug: Glossary/Truthy
tags:
  - CodingScripting
  - Glossary
  - JavaScript
---
В {{Glossary("JavaScript")}} **истинноподобное (truthy)** значение — это значение, рассматривающиеся как `true` в {{Glossary("Boolean", "булевом")}} контексте. К истинноподобным значениям относятся любые ("Falsy", "неложноподобные")}} значения (т.е. `false`, `0`, `-0``0n`, `""`, `null`, `undefined` и `NaN`).

В булевых контекстах {{Glossary("JavaScript")}} использует механизм {{Glossary("Type_Coercion", "приведения типов")}}.

Примеры _истинноподобных_ значений в JavaScript (которые будут принудительно приведены к `true` в булевых контекстах, выполняя таким образом содержимое блока `if`):

```js
if (true)
if ({})
if ([])
if (42)
if ("0")
if ("false")
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)
```

### Оператор логического И, &&

Если первый операнд истинноподобен, то [оператор логического И](/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND) вернёт второй операнд:

```js
true && "dog"
// возвращает "dog"

[] && "dog"
// возвращает "dog"
```

## Смотрите также

- {{Glossary("Falsy")}}
- {{Glossary("Type_Coercion", "Приведение типов")}}
- {{Glossary("Boolean")}}