From 3b25bfd93626bf3c5abd8d4e82eaa3c10372f2b4 Mon Sep 17 00:00:00 2001
From: Mouu9 <97622707+Mouu9@users.noreply.github.com>
Date: Sat, 22 Jan 2022 23:34:15 +0200
Subject: [PATCH 1/8] 08-operators fix
---
1-js/02-first-steps/08-operators/article.md | 70 ++++++++++-----------
1 file changed, 35 insertions(+), 35 deletions(-)
diff --git a/1-js/02-first-steps/08-operators/article.md b/1-js/02-first-steps/08-operators/article.md
index a83cc9121..76b03fe63 100644
--- a/1-js/02-first-steps/08-operators/article.md
+++ b/1-js/02-first-steps/08-operators/article.md
@@ -1,6 +1,6 @@
# Базові оператори, математика
-Зі шкільної програми, ми знаємо багато арифметичних операцій, такі як додавання `+`, множення `*`, віднімання `-` тощо.
+Зі шкільної програми ми знаємо багато арифметичних операцій, такі як додавання `+`, множення `*`, віднімання `-` тощо.
У цьому розділі ми почнемо з простих операторів, потім зосередимося на специфічних для JavaScript аспектах, які не охоплені шкільною арифметикою.
@@ -19,14 +19,14 @@
*/!*
alert( x ); // -1, було застосоване унарне заперечення
```
-- Оператор є *бінарним*, якщо він має два операнди. Цей же мінус існує також в бінарній формі:
+- Оператор є *бінарним*, якщо він має два операнди. Цей же мінус є також у бінарній формі:
```js run no-beautify
let x = 1, y = 3;
alert( y - x ); // 2, бінарний мінус віднімає значення
```
- Формально, в прикладах вище ми маємо два різні оператори, які позначаються однаковим символом: оператор заперечення – унарний оператор, який змінює знак числа, та оператор віднімання – бінарний оператор, який віднімає одне число від іншого.
+ Формально, у прикладах вище ми маємо два різні оператори, які позначаються однаковим символом: оператор заперечення – унарний оператор, який змінює знак числа, та оператор віднімання – бінарний оператор, який віднімає одне число від іншого.
## Математика
@@ -43,7 +43,7 @@ JavaScript підтримує такі математичні операції:
### Остача від ділення %
-Оператор остачі `%`, попри свій зовнішній вигляд, не пов’язаний з відсотками.
+Оператор остачі `%`, попри свій зовнішній вигляд, не пов’язаний із відсотками.
Результатом `a % b` є [остача](https://uk.wikipedia.org/wiki/Остача) цілочислового ділення `a` на `b`.
@@ -58,7 +58,7 @@ alert( 8 % 3 ); // 2 — остача від ділення 8 на 3
Оператор піднесення до степеня `a ** b` множить `a` саме на себе `b` разів.
-В школі, ми записуємо це як ab.
+У школі ми записуємо це як ab.
Наприклад:
@@ -68,7 +68,7 @@ alert( 2 ** 3 ); // 2³ = 8
alert( 2 ** 4 ); // 2⁴ = 16
```
-Так само як в математиці, оператор піднесення також можна використовувати для дробових чисел.
+Так само як у математиці, оператор піднесення також можна використовувати для дробових чисел.
Наприклад, квадратний корінь це піднесення до степеня ½:
@@ -108,14 +108,14 @@ alert( 2 + '1' ); // "21"
alert(2 + 2 + '1' ); // "41", а не "221"
```
-Тут оператори виконуються один за одним. Перший `+` додає два числа, тому він поверне `4`; а наступний оператор `+` вже додасть (об’єднає) попередній результат з рядком `1`. У підсумку ми отримаємо рядок `'41'` (`4 + '1'`).
+Тут оператори виконуються один за одним. Перший `+` додає два числа, тому він поверне `4`; а наступний оператор `+` вже додасть (об’єднає) попередній результат із рядком `1`. У підсумку ми отримаємо рядок `'41'` (`4 + '1'`).
```js run
alert('1' + 2 + 2); // "122", а не "14"
```
-В цьому прикладі, перший операнд — рядок, тому компілятор також опрацьовує інші два операнди як рядки. Операнд `2` приєднується (конкатенується) до `'1'`, тому в результаті буде `'1' + 2 = "12"`, а потім — `"12" + 2 = "122"`.
+У цьому прикладі перший операнд — рядок, тому компілятор також опрацьовує інші два операнди як рядки. Операнд `2` приєднується (конкатенується) до `'1'`, тому в результаті буде `'1' + 2 = "12"`, а потім — `"12" + 2 = "122"`.
-Лише бінарний `+` працює з рядками таким чином. Інші арифметичні оператори працюють тільки з числами й завжди перетворюють свої операнди на числа.
+Лише бінарний `+` працює з рядками так. Інші арифметичні оператори працюють тільки з числами й завжди перетворюють свої операнди на числа.
Ось приклад, як працює віднімання й ділення:
@@ -126,7 +126,7 @@ alert( '6' / '2' ); // 3, обидва операнди перетворюють
## Числове перетворення, унарний +
-Плюс `+` існує у двох формах: бінарна форма, яку ми використовували вище, та унарна форма.
+Плюс `+` є у двох формах: бінарна форма, яку ми використовували вище, та унарна форма.
Унарний плюс або, іншими словами, оператор плюс `+`, застосований до єдиного операнда, нічого не зробить, якщо операнд є числом. Але якщо операнд не є числом, унарний плюс перетворить його на число.
@@ -147,7 +147,7 @@ alert( +"" ); // 0
*/!*
```
-Він насправді працює як і `Number(...)`, але виглядає коротше.
+Він насправді працює як і `Number(...)`, але має коротший вигляд.
Необхідність перетворення рядків на числа виникає дуже часто. Наприклад, якщо ми отримуємо значення з полів HTML форми, вони зазвичай є рядками. Що робити, якщо ми хочемо їх підсумувати?
@@ -177,15 +177,15 @@ alert( +apples + +oranges ); // 5
З погляду математика надмірні плюси можуть здатися дивними. Але з погляду програміста тут немає нічого особливого: спочатку застосовуються унарні плюси, вони перетворюють рядки на числа, а потім бінарний плюс підсумовує їх.
-Чому унарні плюси застосовуються до значень перед бінарними плюсами? Як ми побачимо далі, це пов’язано з їх *вищим пріоритетом*.
+Чому унарні плюси застосовуються до значень перед бінарними плюсами? Як ми побачимо далі, це пов’язано з їхнім *вищим пріоритетом*.
## Пріоритет оператора
-Якщо вираз має більше одного оператора, порядок виконання визначається їх *пріоритетом*, або, іншими словами, типовим порядком першості операторів.
+Якщо вираз має більше одного оператора, порядок виконання визначається їхнім *пріоритетом*, або, іншими словами, типовим порядком першості операторів.
-Зі школи ми всі знаємо, що множення у виразі `1 + 2 * 2` повинно бути обчислене перед додаванням. Саме це і є пріоритетом. Кажуть, що множення має *вищий пріоритет*, ніж додавання.
+Зі школи ми всі знаємо, що множення у виразі `1 + 2 * 2` має бути обчислене перед додаванням. Саме це і є пріоритетом. Кажуть, що множення має *вищий пріоритет*, ніж додавання.
-Дужки перевизначають будь-який пріоритет, тому, якщо ми не задоволені типовим пріоритетом, ми можемо використовувати дужки, щоб змінити його. Наприклад: `(1 + 2) * 2`.
+Дужки перевизначають будь-який пріоритет, тому, якщо ми не задоволені типовим пріоритетом, ми можемо використовувати дужки, щоби змінити його. Наприклад: `(1 + 2) * 2`.
У JavaScript є багато операторів. Кожен оператор має відповідний номер пріоритету. Першим виконується той оператор, який має найбільший номер пріоритету. Якщо пріоритет є однаковим, порядок виконання — зліва направо.
@@ -223,7 +223,7 @@ alert( x ); // 5
Той факт, що `=` є оператором, а не "магічною" конструкцією мови, має цікаве значення.
-Всі оператори в JavaScript повертають значення. Це очевидно для `+` та `-`, але це також правдиво для `=`.
+Усі оператори в JavaScript повертають значення. Це очевидно для `+` та `-`, але це також правдиво для `=`.
Виклик `x = значення` записує `значення` у `x`, *а потім повертає його*.
@@ -243,9 +243,9 @@ alert( c ); // 0
У наведеному вище прикладі результат виразу `(a = b + 1)` є значенням, яке присвоювалося змінній `a` (тобто `3`). Потім воно використовується для подальших обчислень.
-Чудернацький код, чи не так? Ми повинні розуміти, як це працює, бо іноді ми бачимо подібне у бібліотеках JavaScript.
+Чудернацький код, чи не так? Ми маємо розуміти, як це працює, бо іноді ми бачимо подібне в бібліотеках JavaScript.
-Однак, будь ласка, не пишіть свій код таким чином. Такі трюки, безумовно, не роблять код більш зрозумілим або читабельним.
+Однак, будь ласка, не пишіть свій код так. Ці трюки, безумовно, не роблять код більш зрозумілим або читабельним.
### Ланцюгові присвоєння
@@ -265,7 +265,7 @@ alert( c ); // 4
Ланцюгове присвоєння виконується справа наліво. Спочатку обчислюється найправіший вираз `2 + 2`, а потім результат присвоюється змінним ліворуч: `c`, `b` та `a`. Зрештою всі змінні мають спільне значення.
-Знову таки, щоб покращити читабельність коду, краще розділяти подібні конструкції на декілька рядків:
+Знову таки, щоби покращити читабельність коду, краще розділяти подібні конструкції на декілька рядків:
```js
c = 2 + 2;
@@ -296,7 +296,7 @@ n *= 2; // тепер n = 14 (те ж саме, що n = n * 2)
alert( n ); // 14
```
-Короткі оператори "модифікувати та присвоїти" існують для всіх арифметичних та побітових операторів: `/=`, `-=` тощо.
+Короткі оператори "модифікувати та присвоїти" є для всіх арифметичних та побітових операторів: `/=`, `-=` тощо.
Ці оператори мають такий же пріоритет, як і звичайне присвоєння, тому вони виконуються після більшості інших обчислень:
@@ -314,7 +314,7 @@ alert( n ); // 16 (права частина обчислюється перш
Збільшення або зменшення на одиницю є однією з найпоширеніших числових операцій.
-Тому для цього існують спеціальні оператори:
+Тому для цього є спеціальні оператори:
- **Інкремент** `++` збільшує змінну на 1:
@@ -332,21 +332,21 @@ alert( n ); // 16 (права частина обчислюється перш
```
```warn
-Інкремент/декремент можуть застосовуватись лише до змінних. Спроба використати їх із значенням, як от `5++`, призведе до помилки.
+Інкремент/декремент можуть застосовуватися лише до змінних. Спроба використати їх із значенням, як от `5++`, призведе до помилки.
```
-Оператори `++` та `--` можуть розташовуватись до або після змінної.
+Оператори `++` та `--` можуть розташовуватися до або після змінної.
-- Коли оператор йде за змінною, він знаходиться у "постфіксній формі": `counter++`.
+- Коли оператор йде за змінною, він у "постфіксній формі": `counter++`.
- "Префіксна форма" – це коли оператор йде попереду змінної: `++counter`.
Обидві ці інструкції роблять те ж саме: збільшують `counter` на `1`.
-Чи є різниця? Так, але ми можемо побачити її тільки при використанні значення, яке повертають `++/--`.
+Чи є різниця? Так, але ми можемо побачити її тільки використавши значення, яке повертають `++/--`.
-Розберімось. Як нам відомо, усі оператори повертають значення. Інкремент/декремент не є винятком. Префіксна форма повертає нове значення, тоді як постфіксна форма повертає старе значення (до збільшення/зменшення).
+Розберімось. Як нам відомо, всі оператори повертають значення. Інкремент/декремент не є винятком. Префіксна форма повертає нове значення, тоді як постфіксна форма повертає старе значення (до збільшення/зменшення).
-Щоб побачити різницю, наведемо приклад:
+Щоби побачити різницю, наведемо приклад:
```js run
let counter = 1;
@@ -392,7 +392,7 @@ alert(a); // *!*1*/!*
```
````smart header="Інкремент/декремент серед інших операторів"
-Оператори `++/--` також можуть використовуватись всередині виразів. Їх пріоритет вищий за більшість інших арифметичних операцій.
+Оператори `++/--` також можуть використовуватися всередині виразів. Їхній пріоритет вищий за більшість інших арифметичних операцій.
Наприклад:
@@ -410,7 +410,7 @@ alert( 2 * counter++ ); // 2, тому що counter++ повертає "стар
Хоча з технічного погляду це допустимо, такий запис робить код менш читабельним. Коли один рядок робить кілька речей -- це не добре.
-При читанні коду швидке "вертикальне" сканування оком може легко пропустити щось подібне до `counter++`, і не буде очевидним, що змінна була збільшена.
+Під час читання коду швидке "вертикальне" сканування оком може легко пропустити щось подібне до `counter++`, і не буде очевидним, що змінна була збільшена.
Ми рекомендуємо стиль "одна лінія -- одна дія":
@@ -423,7 +423,7 @@ counter++;
## Побітові оператори
-Побітові оператори розглядають аргументи як 32-бітні цілі числа та працюють на рівні їх двійкового представлення.
+Побітові оператори розглядають аргументи як 32-бітні цілі числа та працюють на рівні їхнього двійкового представлення.
Ці оператори не є специфічними для JavaScript. Вони підтримуються у більшості мов програмування.
@@ -437,13 +437,13 @@ counter++;
- RIGHT SHIFT(зсув праворуч) ( `>>` )
- ZERO-FILL RIGHT SHIFT(зсув праворуч із заповненням нулями) ( `>>>` )
-Ці оператори використовуються тоді, коли нам потрібно "возитися" з числами на дуже низькому (побітовому) рівні (тобто — вкрай рідко). Найближчим часом такі оператори нам не знадобляться, оскільки у веброзробці вони майже не використовуються. Проте в таких областях, як криптографія, вони корисні. Ви можете прочитати [розділ про них](https://developer.mozilla.org/uk/docs/Web/JavaScript/Guide/Вирази_та_оператори#Бітові_оператори) на MDN, якщо виникне потреба.
+Ці оператори використовуються тоді, коли нам потрібно "возитися" з числами на дуже низькому (побітовому) рівні (тобто — вкрай рідко). Найближчим часом такі оператори нам не знадобляться, оскільки у веброзробці вони майже не використовуються. Проте в таких галузях, як криптографія, вони корисні. Ви можете прочитати [розділ про них](https://developer.mozilla.org/uk/docs/Web/JavaScript/Guide/Вирази_та_оператори#Бітові_оператори) на MDN, якщо виникне потреба.
## Кома
-Оператор "кома" (`,`) незвичайний і застосовується дуже рідко. Іноді цей оператор використовують для написання коротшого коду, тому нам потрібно знати його, щоб розуміти, що відбувається.
+Оператор "кома" (`,`) незвичайний і застосовується дуже рідко. Іноді цей оператор використовують для написання коротшого коду, тому нам потрібно знати його, щоби розуміти, що відбувається.
-Оператор кома дозволяє обчислити кілька виразів, розділивши їх комою `,`. Кожен з них обчислюється, але повертається тільки результат останнього.
+Оператор кома дає змогу обчислити кілька виразів, розділивши їх комою `,`. Кожен із них обчислюється, але повертається тільки результат останнього.
Наприклад:
@@ -465,7 +465,7 @@ alert( a ); // 7 (результат обчислення 3 + 4)
Чому нам потрібен оператор, що викидає все, окрім останнього виразу?
-Іноді його використовують в складніших конструкціях, щоб помістити кілька дій в один рядок.
+Іноді його використовують у складніших конструкціях, щоби помістити кілька дій в один рядок.
Наприклад:
@@ -476,4 +476,4 @@ for (*!*a = 1, b = 3, c = a * b*/!*; a < 10; a++) {
}
```
-Такі трюки використовуються в багатьох фреймворках JavaScript. Саме тому ми їх згадуємо. Але зазвичай вони не покращують читабельність коду, тому ми повинні добре подумати перед їх використанням.
+Такі трюки використовуються в багатьох фреймворках JavaScript. Саме тому ми їх згадуємо. Але зазвичай вони не покращують читабельність коду, тому ми маємо добре подумати перед їхнім використанням.
From 81d8af894251a8380ad4f166b3b6cefd6abe3f43 Mon Sep 17 00:00:00 2001
From: Mouu9 <97622707+Mouu9@users.noreply.github.com>
Date: Sun, 30 Jan 2022 22:09:58 +0200
Subject: [PATCH 2/8] Update 1-js/02-first-steps/08-operators/article.md
Co-authored-by: Stanislav
---
1-js/02-first-steps/08-operators/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/1-js/02-first-steps/08-operators/article.md b/1-js/02-first-steps/08-operators/article.md
index 76b03fe63..76b201d56 100644
--- a/1-js/02-first-steps/08-operators/article.md
+++ b/1-js/02-first-steps/08-operators/article.md
@@ -19,7 +19,7 @@
*/!*
alert( x ); // -1, було застосоване унарне заперечення
```
-- Оператор є *бінарним*, якщо він має два операнди. Цей же мінус є також у бінарній формі:
+- Оператор є *бінарним*, якщо він має два операнди. Наприклад, оператор мінус можна використовувати і у бінарній формі:
```js run no-beautify
let x = 1, y = 3;
From d7858730fd9225f8b6cfdd1ea4ee7dc799531b52 Mon Sep 17 00:00:00 2001
From: Mouu9 <97622707+Mouu9@users.noreply.github.com>
Date: Sun, 30 Jan 2022 22:10:05 +0200
Subject: [PATCH 3/8] Update 1-js/02-first-steps/08-operators/article.md
Co-authored-by: Stanislav
---
1-js/02-first-steps/08-operators/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/1-js/02-first-steps/08-operators/article.md b/1-js/02-first-steps/08-operators/article.md
index 76b201d56..dc726f81e 100644
--- a/1-js/02-first-steps/08-operators/article.md
+++ b/1-js/02-first-steps/08-operators/article.md
@@ -26,7 +26,7 @@
alert( y - x ); // 2, бінарний мінус віднімає значення
```
- Формально, у прикладах вище ми маємо два різні оператори, які позначаються однаковим символом: оператор заперечення – унарний оператор, який змінює знак числа, та оператор віднімання – бінарний оператор, який віднімає одне число від іншого.
+ Формально, у прикладах вище ми маємо два різні оператори, які позначаються однаковим символом: оператор заперечення -- унарний оператор, який змінює знак числа, та оператор віднімання -- бінарний оператор, який віднімає одне число від іншого.
## Математика
From 16aba740e566a2e82afd54c98d77b06a8e8cbbf4 Mon Sep 17 00:00:00 2001
From: Mouu9 <97622707+Mouu9@users.noreply.github.com>
Date: Sun, 30 Jan 2022 22:10:13 +0200
Subject: [PATCH 4/8] Update 1-js/02-first-steps/08-operators/article.md
Co-authored-by: Stanislav
---
1-js/02-first-steps/08-operators/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/1-js/02-first-steps/08-operators/article.md b/1-js/02-first-steps/08-operators/article.md
index dc726f81e..bee697697 100644
--- a/1-js/02-first-steps/08-operators/article.md
+++ b/1-js/02-first-steps/08-operators/article.md
@@ -113,7 +113,7 @@ alert(2 + 2 + '1' ); // "41", а не "221"
```js run
alert('1' + 2 + 2); // "122", а не "14"
```
-У цьому прикладі перший операнд — рядок, тому компілятор також опрацьовує інші два операнди як рядки. Операнд `2` приєднується (конкатенується) до `'1'`, тому в результаті буде `'1' + 2 = "12"`, а потім — `"12" + 2 = "122"`.
+У цьому прикладі перший операнд -- рядок, тому компілятор також опрацьовує інші два операнди як рядки. Операнд `2` приєднується (конкатенується) до `'1'`, тому в результаті буде `'1' + 2 = "12"`, а потім — `"12" + 2 = "122"`.
Лише бінарний `+` працює з рядками так. Інші арифметичні оператори працюють тільки з числами й завжди перетворюють свої операнди на числа.
From 8efc2ab3df350dc709c0aff5ee009d5e612d330d Mon Sep 17 00:00:00 2001
From: Mouu9 <97622707+Mouu9@users.noreply.github.com>
Date: Sun, 30 Jan 2022 22:10:19 +0200
Subject: [PATCH 5/8] Update 1-js/02-first-steps/08-operators/article.md
Co-authored-by: Stanislav
---
1-js/02-first-steps/08-operators/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/1-js/02-first-steps/08-operators/article.md b/1-js/02-first-steps/08-operators/article.md
index bee697697..25c1b0a23 100644
--- a/1-js/02-first-steps/08-operators/article.md
+++ b/1-js/02-first-steps/08-operators/article.md
@@ -128,7 +128,7 @@ alert( '6' / '2' ); // 3, обидва операнди перетворюють
Плюс `+` є у двох формах: бінарна форма, яку ми використовували вище, та унарна форма.
-Унарний плюс або, іншими словами, оператор плюс `+`, застосований до єдиного операнда, нічого не зробить, якщо операнд є числом. Але якщо операнд не є числом, унарний плюс перетворить його на число.
+Унарний плюс або, іншими словами, оператор плюс `+`, застосований до одного операнда, нічого не зробить, якщо операнд є числом. Але якщо операнд не є числом, унарний плюс перетворить його на число.
Наприклад:
From 26849d313e045d3548bdc6998e8edc2bdf3a3996 Mon Sep 17 00:00:00 2001
From: Mouu9 <97622707+Mouu9@users.noreply.github.com>
Date: Sun, 30 Jan 2022 22:10:26 +0200
Subject: [PATCH 6/8] Update 1-js/02-first-steps/08-operators/article.md
Co-authored-by: Stanislav
---
1-js/02-first-steps/08-operators/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/1-js/02-first-steps/08-operators/article.md b/1-js/02-first-steps/08-operators/article.md
index 25c1b0a23..c8a42654b 100644
--- a/1-js/02-first-steps/08-operators/article.md
+++ b/1-js/02-first-steps/08-operators/article.md
@@ -1,6 +1,6 @@
# Базові оператори, математика
-Зі шкільної програми ми знаємо багато арифметичних операцій, такі як додавання `+`, множення `*`, віднімання `-` тощо.
+Зі шкільної програми ми знаємо багато арифметичних операцій, таких як додавання `+`, множення `*`, віднімання `-` тощо.
У цьому розділі ми почнемо з простих операторів, потім зосередимося на специфічних для JavaScript аспектах, які не охоплені шкільною арифметикою.
From 34456692061ed612d4043e144ea75a46d500f55f Mon Sep 17 00:00:00 2001
From: Mouu9 <97622707+Mouu9@users.noreply.github.com>
Date: Sun, 30 Jan 2022 22:10:34 +0200
Subject: [PATCH 7/8] Update 1-js/02-first-steps/08-operators/article.md
Co-authored-by: Stanislav
---
1-js/02-first-steps/08-operators/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/1-js/02-first-steps/08-operators/article.md b/1-js/02-first-steps/08-operators/article.md
index c8a42654b..cc6e2af85 100644
--- a/1-js/02-first-steps/08-operators/article.md
+++ b/1-js/02-first-steps/08-operators/article.md
@@ -126,7 +126,7 @@ alert( '6' / '2' ); // 3, обидва операнди перетворюють
## Числове перетворення, унарний +
-Плюс `+` є у двох формах: бінарна форма, яку ми використовували вище, та унарна форма.
+У оператора плюс `+` є дві форми: бінарна, яку ми використовували вище, та унарна.
Унарний плюс або, іншими словами, оператор плюс `+`, застосований до одного операнда, нічого не зробить, якщо операнд є числом. Але якщо операнд не є числом, унарний плюс перетворить його на число.
From 27f89346a8eb0a9a74efba0588033a7e26f7efbf Mon Sep 17 00:00:00 2001
From: Mouu9 <97622707+Mouu9@users.noreply.github.com>
Date: Sun, 30 Jan 2022 22:33:10 +0200
Subject: [PATCH 8/8] fix
---
1-js/02-first-steps/08-operators/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/1-js/02-first-steps/08-operators/article.md b/1-js/02-first-steps/08-operators/article.md
index cc6e2af85..4ae61a3de 100644
--- a/1-js/02-first-steps/08-operators/article.md
+++ b/1-js/02-first-steps/08-operators/article.md
@@ -476,4 +476,4 @@ for (*!*a = 1, b = 3, c = a * b*/!*; a < 10; a++) {
}
```
-Такі трюки використовуються в багатьох фреймворках JavaScript. Саме тому ми їх згадуємо. Але зазвичай вони не покращують читабельність коду, тому ми маємо добре подумати перед їхнім використанням.
+Такі трюки використовуються в багатьох фреймворках JavaScript. Саме тому ми їх згадуємо. Але зазвичай вони не покращують читабельність коду, тому ми маємо добре подумати перед їх використанням.