|
1 | | -# Оператор объединения с null '??' |
| 1 | +# Оператор нулевого слияния (??) |
2 | 2 |
|
3 | 3 | [recent browser="new"] |
4 | 4 |
|
5 | 5 | В этой статье мы будем говорить, что значение выражения "определено", если оно отличается от `null` или `undefined`. |
6 | 6 |
|
7 | | -Оператор объединения с null представляет собой два вопросительных знака `??`. |
| 7 | +Оператор нулевого слияния представляет собой два вопросительных знака `??`. |
8 | 8 |
|
9 | 9 | Результат выражения `a ?? b` будет следующим: |
10 | 10 | - `a`, если значение `a` определено, |
11 | 11 | - `b`, если значение `a` не определено. |
12 | 12 |
|
13 | 13 | То есть оператор `??` возвращает первый аргумент, если он не `null/undefined`, иначе второй. |
14 | 14 |
|
15 | | -Оператор объединения с null не является чем-то принципиально новым. Это всего лишь удобный синтаксис, как из двух значений получить одно "определённое". |
| 15 | +Оператор нулевого слияния не является чем-то принципиально новым. Это всего лишь удобный синтаксис, как из двух значений получить одно "определённое". |
16 | 16 |
|
17 | 17 | Вот как можно переписать выражение `result = a ?? b`, используя уже знакомые нам операторы: |
18 | 18 |
|
@@ -76,7 +76,7 @@ alert(firstName || lastName || nickName || "Аноним"); // Суперкод |
76 | 76 |
|
77 | 77 | Оператор ИЛИ `||` существует с самого появления JavaScript, поэтому ранее для решения похожих задач разработчики использовали именно его. |
78 | 78 |
|
79 | | -С другой стороны, сравнительно недавно в язык был добавлен оператор объединения с null `??` как раз потому, что многие были недовольны оператором `||`. |
| 79 | +С другой стороны, сравнительно недавно в язык был добавлен оператор нулевого слияния `??` как раз потому, что многие были недовольны оператором `||`. |
80 | 80 |
|
81 | 81 | Важное различие между ними заключается в том, что: |
82 | 82 | - `||` возвращает первое *истинное* значение. |
@@ -153,7 +153,7 @@ alert(x); // 2 |
153 | 153 |
|
154 | 154 | ## Итого |
155 | 155 |
|
156 | | -- Оператор объединения с null `??` — это быстрый способ выбрать первое "определённое" значение из списка. |
| 156 | +- Оператор нулевого слияния `??` — это быстрый способ выбрать первое "определённое" значение из списка. |
157 | 157 |
|
158 | 158 | Используется для присвоения переменным значений по умолчанию: |
159 | 159 |
|
|
0 commit comments