◐ Shell
reader mode source ↗
Skip to content
Merged
Hide file tree
Changes from all commits
File filter
Conversations
Jump to
Diff view
Apply and reload
Show whitespace
Diff view
Apply and reload
2 changes: 1 addition & 1 deletion 1-js/01-getting-started/4-devtools/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Safari (стандартний браузер у macOS, не підтримує

![safari](safari.png)

Тепер комбінація клавіш `key:Cmd+Opt+C` може переключати консоль. Також зауважте, що з'явився новий пункт "Розробка" у верхньому меню. Це меню має багато команд та опцій.

## Підсумки

Expand Down
6 changes: 3 additions & 3 deletions 1-js/02-first-steps/04-variables/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ let message = "Той"; // SyntaxError: 'message' has already been declared

В JavaScript є два обмеження, які стосуються імен змінних:

1. Ім'я має містити лише букви, цифри або символи `$` і `_`.
2. Перший символ не має бути числом.

Ось приклади допустимих імен:
Expand Up @@ -263,7 +263,7 @@ myBirthday = '01.01.2001'; // помилка, не можна перевизна

### Константи в верхньому регістрі

Широко поширена практика використання констант як псевдонімів для значень, які важко запам'ятати і які відомі до початку виконання скрипта.

Такі константи пишуться в верхньому регістрі з використанням підкреслень.

Expand All @@ -282,7 +282,7 @@ alert(color); // #FF7F00

Переваги:

- `COLOR_ORANGE` набагато легше запам'ятати, ніж `"#FF7F00"`.
- Набагато легше допустити помилку в `"#FF7F00"`, ніж під час введення `COLOR_ORANGE`.
- Під час читання коду `COLOR_ORANGE` набагато зрозуміліше, ніж `#FF7F00`.

8 changes: 4 additions & 4 deletions 1-js/11-async/03-promise-chaining/article.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# Ланцюжок промісів

Повернемося до проблеми, згаданої в розділі [Введення: колбеки](info:callbacks): у нас є послідовність асинхронних задач, які потрібно виконувати одну за одною — наприклад, завантаження скриптів. Як ми можемо це добре закодувати?

Проміси надають кілька способів вирішення подібних задач.

Expand Down Expand Up @@ -36,7 +36,7 @@ new Promise(function(resolve, reject) {

Ось потік виконання:
1. Початковий проміс успішно виконується через 1 секунду `(*)`,
2. Далі викликається обробник `.then` `(**)`, який у свою чергу, створює новий проміс (вирішується зі значенням `2`).
3. Наступний `then` `(***)` приймає результат попереднього, оброблює його (подвоює) та передає до наступного обробника.
4. ...і так далі.

Expand Down Expand Up @@ -78,7 +78,7 @@ promise.then(function(result) {

![](promise-then-many.svg)

Усі `.then` на одному й тому самому промісі отримують той самий результат - результат цього промісу. Тож у коді вище усі `alert` показують те саме: `1`.

На практиці нам рідко потрібні кілька обробників для одного промісу. Набагато частіше використовується ланцюжок.

Expand Down Expand Up @@ -120,7 +120,7 @@ new Promise(function(resolve, reject) {
});
```

Тут перший `.then` показує `1` і повертає `new Promise(…)` у рядку `(*)`. Через одну секунду він вирішується, а результат (аргумент `resolve`, тут це `результат * 2`) передається обробнику другого `.then`. Цей обробник знаходиться в рядку `(**)`, він показує `2` і робить те ж саме.

Отже, результат такий же, як і в попередньому прикладі: 1 -> 2 -> 4, але тепер із затримкою в 1 секунду між викликами `alert`.

Expand Down
Original file line number Diff line number Diff line change
@@ -7,10 +7,10 @@
<ul>
<li>Ссавці
<ul>
<li>Корів</li>
<li>Осли</li>
<li>Собаки</li>
<li>Тигер</li>
</ul>
</li>
<li>Інші
Expand All @@ -27,7 +27,7 @@
<li>Акваріум
<ul>
<li>Гуппі</li>
<li>Ангельський</li>
</ul>
</li>
<li>Море
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ alert(document.constructor.name); // HTMLDocument
alert(HTMLDocument.prototype.constructor === HTMLDocument); // true
```

Щоб отримати назву класу як рядок, ми можемо використовувати `constructor.name`. Давайте зробимо це для всього прототипного ланцюга `document` аж до класу` Node`:

```js run
alert(HTMLDocument.prototype.constructor.name); // HTMLDocument
Expand All @@ -37,4 +37,4 @@ alert(HTMLDocument.prototype.__proto__.__proto__.constructor.name); // Node

Це ієрархія.

Ми також можемо розглянути об’єкт за допомогою `console.dir(document)` і побачити ці назви, відкриваючи `__proto__`.Консоль браузера під капотом бере їх з `constructor`.
Loading
Toggle all file notes Toggle all file annotations