You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/1-intro/article.md
-4Lines changed: 0 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,11 +105,7 @@ Javascript – це єдина браузерна технологія, яка
105
105
106
106
Сучасні інструменти роблять транспіляцію дуже швидкою і прозорою, дозволяючи розробникам писати код іншою мовою і автоматично конвертувати його "під капотом".
107
107
108
-
<<<<<<< HEAD
109
108
Приклади таких мов:
110
-
=======
111
-
Examples of such languages:
112
-
>>>>>>> 6bbe0b4313a7845303be835d632ef8e5bc7715cd
113
109
114
110
-[CoffeeScript](http://coffeescript.org/) це "синтаксичний цукор" поверх JavaScript. Вона вводить більш короткий синтаксис, дозволяючи нам писати більш чіткий і точний код. Зазвичай, програмісти на Ruby люблять її.
115
111
-[TypeScript](http://www.typescriptlang.org/) зосереджена на додаванні "строгої типізації даних", щоб спростити розробку і підтримку складних систем. ЇЇ розробляє Microsoft.
Останні три рядки можуть потребувати додаткового пояснення:
221
221
222
-
<<<<<<< HEAD
223
-
1.`Math` — це вбудований об'єкт, який забезпечує математичні операції.
224
-
2. Рзультатом `typeof null` є `"object"`. Це неправильно. Це офіційно визнана помилка в "typeof", що зберігається для сумісності. Звичайно, `null` не є об'єктом. Це особливе значення з власним типом. Отже, знову ж таки, це помилка в мові.
225
-
3. Результатом `typeof alert` є `"function"`, тому що `alert` — це функція мови. Ми будемо вивчати функції в наступних розділах, де ми побачимо, що в JavaScript немає спеціального типу "function". Функції належать до типу об'єкта. Але `typeof` трактує їх по-різному. Формально це неправильно, але дуже зручно на практиці.
226
-
=======
227
-
1.`Math` is a built-in object that provides mathematical operations. We will learn it in the chapter <info:number>. Here, it serves just as an example of an object.
228
-
2. The result of `typeof null` is `"object"`. That's wrong. It is an officially recognized error in `typeof`, kept for compatibility. Of course, `null` is not an object. It is a special value with a separate type of its own. So, again, this is an error in the language.
229
-
3. The result of `typeof alert` is `"function"`, because `alert` is a function. We'll study functions in the next chapters where we'll also see that there's no special "function" type in JavaScript. Functions belong to the object type. But `typeof` treats them differently, returning `"function"`. That's not quite correct, but very convenient in practice.
230
-
>>>>>>> 6bbe0b4313a7845303be835d632ef8e5bc7715cd
222
+
1.`Math` — це вбудований об'єкт, який забезпечує математичні операції. Ми вивчемо їх в розділі <info:number>. Тут, вони слухать лише в якості прикладу об'єкта.
223
+
2. Результатом `typeof null` є `"object"`. Це неправильно. Це офіційно визнана помилка в `typeof`, що зберігається для сумісності. Звичайно, `null` не є об'єктом. Це особливе значення з власним типом. Отже, знову ж таки, це помилка в мові.
224
+
3. Результатом `typeof alert` є `"function"`, тому що `alert` — це функція. Ми будемо вивчати функції в наступних розділах, де ми також побачимо, що в JavaScript немає спеціального типу "function". Функції належать до типу об'єкт. Але `typeof` трактує їх по-різному, повертаючи `"function"`. Це не зовсім правильно, але дуже зручно на практиці.
Якщо вираз має більше одного оператора, порядок виконання визначається їх *пріоритетом*, або, іншими словами, неявним порядком пріоритетів операторів.
132
-
=======
133
-
If an expression has more than one operator, the execution order is defined by their *precedence*, or, in other words, the default priority order of operators.
134
-
>>>>>>> 6bbe0b4313a7845303be835d632ef8e5bc7715cd
130
+
Якщо вираз має більше одного оператора, порядок виконання визначається їх *пріоритетом*, або, іншими словами, типовим порядком пріоритетів операторів.
135
131
136
132
Зі школи ми всі знаємо, що множення у виразі `1 + 2 * 2` повинно бути обчислене перед додаванням. Саме це і є пріоритетом. Кажуть, що множення має *вищий пріоритет*, ніж додавання.
137
133
138
-
<<<<<<< HEAD
139
-
Дужки перевизначають будь-який пріоритет, тому, якщо ми не задоволенні неявним приорітетом, ми можемо використовувати дужки, щоб змінити його. Наприклад: `(1 + 2) * 2`.
140
-
=======
141
-
Parentheses override any precedence, so if we're not satisfied with the default order, we can use them to change it. For example, write `(1 + 2) * 2`.
142
-
>>>>>>> 6bbe0b4313a7845303be835d632ef8e5bc7715cd
134
+
Дужки перевизначають будь-який пріоритет, тому, якщо ми не задоволені типовим пріоритетом, ми можемо використовувати дужки, щоб змінити його. Наприклад: `(1 + 2) * 2`.
143
135
144
136
У JavaScript є багато операторів. Кожен оператор має відповідний номер пріоритету. Першим виконується той оператор, який має найбільший номер пріоритету. Якщо пріоритет є однаковим, порядок виконання — зліва направо.
145
137
@@ -207,15 +199,9 @@ alert( a ); // 3
207
199
alert( c ); // 0
208
200
```
209
201
210
-
<<<<<<< HEAD
211
-
У наведенному вище прикладі результат `(a = b + 1)` є значенням, яке присвоюється змінній `a` (тобто `3`). Потім воно використовується для віднімання від `3`.
202
+
У наведенному вище прикладі результат виразу `(a = b + 1)` є значенням, яке присвоювалося змінній `a` (тобто `3`). Потім воно використовується для подальших обчислень.
212
203
213
-
Смішний код, чи не так? Ми повинні зрозуміти, як це працює, бо іноді ми бачимо подібне у сторонніх бібліотеках, але самі не повинні писати нічого подібного. Такі трюки, безумовно, не роблять код більш ясним або читабельним.
214
-
=======
215
-
In the example above, the result of expression `(a = b + 1)` is the value which was assigned to `a` (that is `3`). It is then used for further evaluations.
216
-
217
-
Funny code, isn't it? We should understand how it works, because sometimes we see it in JavaScript libraries, but shouldn't write anything like that ourselves. Such tricks definitely don't make code clearer or readable.
218
-
>>>>>>> 6bbe0b4313a7845303be835d632ef8e5bc7715cd
204
+
Смішний код, чи не так? Ми повинні зрозуміти, як це працює, бо іноді ми бачимо подібне у JavaScript бібліотеках, але самі не повинні писати нічого подібного. Такі трюки, безумовно, не роблять код більш зрозумілим або читабельним.
Зверніть увагу, що оператор кома має дуже низький пріоритет, нижчий за `=`, тому дужки є важливими в наведеному вище прикладі.
443
429
444
-
<<<<<<< HEAD
445
-
Без них: `a = 1 + 2, 3 + 4` обчислює спочатку `+`, підсумовуючи числа у `a = 3, 7`, потім оператор присвоєння `=` присвоює `a = 3`, і нарешті число після коми, `7`, не обробляється та ігнорується.
446
-
```
447
-
448
-
Чому нам потрібен оператор, що викидає все, окрім останньої частини?
449
-
=======
450
-
Without them: `a = 1 + 2, 3 + 4` evaluates `+` first, summing the numbers into `a = 3, 7`, then the assignment operator `=` assigns `a = 3`, and the rest is ignored. It's like `(a = 1 + 2), 3 + 4`.
430
+
Без дужок, в виразі `a = 1 + 2, 3 + 4` спочатку облислюються оператори `+`, підсумовуючи числа: у `a = 3, 7`; потім оператор присвоєння `=` присвоює `a = 3`, а решту (число `7` після коми) ігнорує. Це як записати вираз `(a = 1 + 2), 3 + 4`.
451
431
```
452
432
453
-
Why do we need an operator that throws away everything except the last expression?
454
-
>>>>>>> 6bbe0b4313a7845303be835d632ef8e5bc7715cd
433
+
Чому нам потрібен оператор, що викидає все, окрім останнього виразу?
455
434
456
435
Іноді люди використовують його в більш складних конструкціях, щоб помістити кілька дій в один рядок.
457
436
@@ -464,8 +443,4 @@ for (*!*a = 1, b = 3, c = a * b*/!*; a < 10; a++) {
464
443
}
465
444
```
466
445
467
-
<<<<<<< HEAD
468
-
Такі трюки використовуються в багатьох фреймворках JavaScript. Саме тому ми їх згадуємо. Але, як правило, вони не покращують читабельність коду, тому ми повинні добре подумати перед їх використанням.
469
-
=======
470
-
Such tricks are used in many JavaScript frameworks. That's why we're mentioning them. But usually they don't improve code readability so we should think well before using them.
471
-
>>>>>>> 6bbe0b4313a7845303be835d632ef8e5bc7715cd
446
+
Такі трюки використовуються в багатьох фреймворках JavaScript. Саме тому ми їх згадуємо. Але зазвичай вони не покращують читабельність коду, тому ми повинні добре подумати перед їх використанням.
0 commit comments