Skip to content

Fixes for translation inaccuracies #415

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Nov 7, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions 1-js/06-advanced-functions/02-rest-parameters-spread/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,10 @@ showName("Ilya");

Крім того, він завжди містить усі аргументи. Ми не можемо отримати їх частково, як це було зроблено з параметрами залишку.

Тому, коли нам потрібні вбудовані мутоди, тоді краще використати параметри залишку.
Тому, коли нам потрібні вбудовані методи, тоді краще використати параметри залишку.

````smart header="Стрілочні функції на мають `\"arguments\"`"
Якщо ми викличемо `arguments` об'єкти на стрілочній функції, він візьме їх із зовнішньої "звичайної" функції.
````smart header="Стрілочні функції не мають `\"arguments\"`"
Якщо ми викличемо `arguments` об'єкта із стрілочною функцією, він візьме їх із зовнішньої "звичайної" функції.

Ось приклад:

Expand Down Expand Up @@ -148,7 +148,7 @@ alert( Math.max(arr) ); // NaN

І, звісно ж, ми не можемо вручну перераховувати елементи в коді `Math.max(arr[0], arr[1], arr[2])`, тому що ми можемо не знати, скільки їх існує. Під час виконання нашого сценарію їх може бути багато, а може і не бути. І це було б потворно.

*Синтаксис розширення* надопомогу! Він схожий на параметри залишку, також використовуються `...`, але працює все навпаки.
Нам допоможе *синтаксис розширення*! Він схожий на параметри залишку, також використовуються `...`, але працює все навпаки.

Коли `...arr` використовується у виклику функції, він "розширює" повторюванний об'єкт `arr` до списку аргументів.

Expand Down Expand Up @@ -206,7 +206,7 @@ alert( [...str] ); // H,e,l,l,o

Отже, для рядка, `for..of` повертає символи так само `...str` повертає `"H","e","l","l","o"`. Список символів передається в ініціалізатор масиву `[...str]`.

Для цього конкретного завдання ми також могли б використовувати `Array.from`, тому що він перетворює ітерабельний (як рядок) в масив:
Для цього конкретного завдання ми також могли б використовувати `Array.from`, тому що він перетворює ітерабельний об'єкт (як рядок) на масив:

```js run
let str = "Hello";
Expand All @@ -219,10 +219,10 @@ alert( Array.from(str) ); // H,e,l,l,o

Але між `Array.from(obj)` та `[...obj]` є тонка різниця:

- `Array.from` працює як з масиво-подібними, так і з ітераторами.
- `Array.from` працює як з масиво-подібними об'єктами, так і з об'єктами, що ітеруються.
- Синтаксис розширення працює тільки з ітераторами.

Отже, для завдання перетворити щось на масив, `Array.from` буде більш універсальним.
Отже, для завдання перетворити щось на масив `Array.from` буде більш універсальним.


## Створити копію масива/об’єкта
Expand Down Expand Up @@ -282,8 +282,8 @@ alert(JSON.stringify(objCopy)); // {"a":1,"b":2,"c":3}

Існує простий спосіб відрізнити їх:

- Коли `...` находиться в кінці параметрів функції, це "залишкові параметри" і збирають решту списку аргументів у масив.
- Коли `...` виникає під час виклику функції чи подібного, це називається "синтаксисом розширення" і розширює масив у список.
- Коли `...` находиться в кінці параметрів функції, це "залишкові параметри" і він збирає решту переданих аргументів у масив.
- Коли `...` виникає під час виклику функції чи чогось подібного, це називається "синтаксисом розширення" і розширює масив у список.

Використовуйте паттерни:

Expand Down