diff --git a/files/uk/web/javascript/guide/expressions_and_operators/index.md b/files/uk/web/javascript/guide/expressions_and_operators/index.md index fa5d4e50a3..77e0bf73bd 100644 --- a/files/uk/web/javascript/guide/expressions_and_operators/index.md +++ b/files/uk/web/javascript/guide/expressions_and_operators/index.md @@ -26,7 +26,7 @@ page-type: guide - [Умовний (тернарний) оператор](#umovnyi-ternarnyi-operator) - [Оператор коми](#operator-komy) - [Унарні оператори](#unarni-operatory) -- [Відносні оператори](#vidnosni-operatory) +- [Оператори відношення](#operatory-vidnoshennia) Ці оператори об'єднують операнди, котрі або сформовані операторами вищого пріоритету, або одним із [базових виразів](#bazovi-vyrazy). Повний і розгорнутий список операторів та виразів доступний також у [довіднику](/uk/docs/Web/JavaScript/Reference/Operators). @@ -156,7 +156,7 @@ x = g(); // Повторно присвоює змінній x результа А проте, подібно до інших виразів, вирази присвоєння виду `x = f()` обчислюються до значення результату. Хоч зазвичай цей результат не використовується, він може бути використаний іншим виразом. -Утворення ланцюжків присвоєнь або присвоєнь, вкладених в інші вирази, може призвести до неочікуваної поведінки. Через це частина посібників зі стилю JavaScript коду [не радить утворювати з присвоєнь ланцюжки або вкладеність][https://github.com/airbnb/javascript/blob/master/readme.md#variables--no-chain-assignment]). +Утворення ланцюжків присвоєнь або присвоєнь, вкладених в інші вирази, може призвести до неочікуваної поведінки. Через це частина посібників зі стилю JavaScript коду [не радить утворювати з присвоєнь ланцюжки або вкладеність](https://github.com/airbnb/javascript/blob/master/readme.md#variables--no-chain-assignment). Попри це, іноді ланцюжки та вкладеність присвоєнь можуть траплятися, тому важливо розуміти, як вони працюють. При додаванні присвоєння в ланцюжок або вкладеність, результат такого присвоєння сам може бути присвоєний іншій змінній. Він може бути виведений, вписаний в літерал масиву або виклик функції, і так далі. @@ -207,7 +207,7 @@ x[f()] = g(); #### Приклад обчислення №1 -`y = x = f()` – рівносильно `y = (x = f())`, адже оператор присвоєння `=` має [праву асоціативність](https://en.wikipedia.org/wiki/Operator_associativity). +Запис `y = x = f()` – рівносильний щодо `y = (x = f())`, адже оператор присвоєння `=` має [праву асоціативність](https://en.wikipedia.org/wiki/Operator_associativity). Проте обчислюється він зліва направо: 1. Починається обчислення виразу присвоєння `y = x = f()`. @@ -239,7 +239,7 @@ x[f()] = g(); #### Приклад обчислення №3 -`x[f()] = g()` так само обчислюється зліва направо. (Цей приклад виходить з припущення, що `x` уже присвоєний якийсь об'єкт. Більше про об'єкти читайте в [Роботі з об'єктами](/uk/docs/Web/JavaScript/Guide/Working_with_objects).) +Вираз `x[f()] = g()` так само обчислюється зліва направо. (Цей приклад виходить з припущення, що `x` уже присвоєний якийсь об'єкт. Більше про об'єкти читайте в [Роботі з об'єктами](/uk/docs/Web/JavaScript/Guide/Working_with_objects).) 1. Починається обчислення виразу `x[f()] = g()`. 1. Починається обчислення звертання до властивості `x[f()]` зліва цього присвоєння. @@ -252,7 +252,7 @@ x[f()] = g(); ### Слід уникати ланцюжків присвоєння -Ланцюжки присвоєнь і вкладання присвоєнь в інші вирази можуть призводити до дивної поведінки. Через це [заведено уникати ланцюжків присвоєння в межах однієї інструкції][https://github.com/airbnb/javascript/blob/master/readme.md#variables--no-chain-assignment]). +Ланцюжки присвоєнь і вкладання присвоєнь в інші вирази можуть призводити до дивної поведінки. Через це [заведено уникати ланцюжків присвоєння в межах однієї інструкції](https://github.com/airbnb/javascript/blob/master/readme.md#variables--no-chain-assignment). Якщо конкретніше, то постановка ланцюжка змінних в інструкціях [`const`][], [`let`][] і [`var`][] нерідко _не_ працює. Лише зовнішня (найлівіша) змінна оголошується; решта змінних в межах такого ланцюжка присвоєння _не_ оголошуються інструкцією `const`, `let` чи `var`. Наприклад: