Skip to content

Commit c4f9304

Browse files
authored
Новые задачи к статье
1 parent 5cebb97 commit c4f9304

File tree

6 files changed

+77
-0
lines changed

6 files changed

+77
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Ответ: `NaN`. Это первое «определённое» значение.
2+
3+
```js run
4+
alert(undefined ?? NaN ?? null ?? "" ?? " ")
5+
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
importance: 3
2+
3+
---
4+
5+
# Что выведет этот код?
6+
7+
Что выведет код ниже?
8+
9+
```js
10+
alert(undefined ?? NaN ?? null ?? "" ?? " ");
11+
```
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Ответ: `"Берлин"`.
2+
3+
Первое присваивание `city ??= "Берлин"` срабатывает, поскольку изначально `city` — это `null`. После присваивания все остальные действия с оператором `??=` становятся бессмысленными, так как теперь `city` содержит «определённое» значение.
4+
5+
```js run
6+
let city = null;
7+
8+
city ??= "Берлин";
9+
city ??= null;
10+
city ??= "Кёльн";
11+
city ??= "Гамбург";
12+
13+
alert(city);
14+
```
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
importance: 3
2+
3+
---
4+
5+
# Какой будет результат выполнения этого кода?
6+
7+
Что будет выведено в итоге?
8+
9+
```js
10+
let city = null;
11+
12+
city ??= "Берлин";
13+
city ??= null;
14+
city ??= "Кёльн";
15+
city ??= "Гамбург";
16+
17+
alert(city);
18+
```
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```js
2+
let num1 = 10,
3+
num2 = 20,
4+
result;
5+
6+
*!*result ??= num1 ?? num2;*/!*
7+
```
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
importance: 3
2+
3+
---
4+
5+
# Перепишите код используя операторы ??, ??=
6+
7+
Перепишите этот код используя операторы нулевого слияния и присваивания.
8+
9+
```js
10+
let num1 = 10,
11+
num2 = 20,
12+
result;
13+
*!*
14+
if (result === null || result === undefined) {
15+
if (num1 !== null && num1 !== undefined) {
16+
result = num1;
17+
} else {
18+
result = num2;
19+
}
20+
}
21+
*/!*
22+
```

0 commit comments

Comments
 (0)