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
+10-10
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Вступ до JavaScript
2
2
3
-
Давайте розглянемо, що такого особливого в JavaScript, що ми дожемо досягти з його допомогою і які ще технології пов'язані з ним.
3
+
Давайте розглянемо, що такого особливого в JavaScript, що ми дожемо досягти з його допомогою і які ще технології пов’язані з ним.
4
4
5
5
## Що таке JavaScript?
6
6
@@ -26,9 +26,9 @@
26
26
27
27
-[V8](https://uk.wikipedia.org/wiki/V8_(рушій_JavaScript)) -- в Chrome і Opera.
28
28
-[SpiderMonkey](https://uk.wikipedia.org/wiki/SpiderMonkey) -- в Firefox.
29
-
- ...Є також інші кодові назви як "Trident" і "Chakra" для різних версій IE, "ChakraCore" для Microsoft Edge, "Nitro" і "SquirrelFish" для Safari, та інші.
29
+
- ...Є також інші кодові назви як "Chakra" для IE, "ChakraCore" для Microsoft Edge, "Nitro" і "SquirrelFish" для Safari, та інші.
30
30
31
-
Написані вище терміни добре було б запам'ятати, оскільки вони використовуються в статтях розробників на просторах інтернету. Ми також будемо їх використовувати. Наприклад, якщо "можливість X підтримується в V8", тоді ймовірно це буде працювати в Chrome і Opera.
31
+
Написані вище терміни добре було б запам’ятати, оскільки вони використовуються в статтях розробників на просторах інтернету. Ми також будемо їх використовувати. Наприклад, якщо "можливість X підтримується в V8", тоді ймовірно це буде працювати в Chrome і Opera.
32
32
33
33
```smart header="Як рушії працюють?"
34
34
@@ -43,23 +43,23 @@
43
43
44
44
## Що може вбудований в браузер JavaScript?
45
45
46
-
Сучасний JavaScript — це "безпечна" мова програмування. Вона не надає низькорівневого доступу до пам'яті чи процесора, оскільки початково була створена для браузерів, які цього не потребують.
46
+
Сучасний JavaScript — це "безпечна" мова програмування. Вона не надає низькорівневого доступу до пам’яті чи процесора, оскільки початково була створена для браузерів, які цього не потребують.
47
47
48
48
Можливості JavaScript значно залежать від оточення, в якому він виконується. Наприклад, [Node.js](https://uk.wikipedia.org/wiki/Node.js) підтримує функції, які дозволяють JavaScript читати/записувати довільні файли, здійснювати мережеві запити, та інше.
49
49
50
-
Вбудований в браузер JavaScript може робити все, що зв'язано з маніпуляцією веб-сторінками, взаємодією з користувачем та веб-сервером.
50
+
Вбудований в браузер JavaScript може робити все, що зв’язано з маніпуляцією веб-сторінками, взаємодією з користувачем та веб-сервером.
51
51
52
52
Наприклад, вбудований в браузер JavaScript може:
53
53
54
54
- Додавати новий HTML-код на сторінку, змінювати існуючий вміст, змінювати стилі.
55
55
- Реагувати на дії користувача, опрацьовувати натискання миші, переміщення вказівника, натискання на клавіші клавіатури.
56
56
- Відправляти запити через мережу до віддалених серверів, завантажувати і відвантажувати файли (так звані технології [AJAX](https://uk.wikipedia.org/wiki/AJAX) і [COMET](https://uk.wikipedia.org/wiki/Comet_(програмування))).
57
57
- Отримувати і надсилати [куки](https://uk.wikipedia.org/wiki/Куки), задавати питання відвідувачам, показувати повідомлення.
58
-
- Запам'ятовувати дані на стороні клієнта ("[local storage](https://developer.mozilla.org/uk/docs/Web/API/Window/localStorage)").
58
+
- Запам’ятовувати дані на стороні клієнта ("[local storage](https://developer.mozilla.org/uk/docs/Web/API/Window/localStorage)").
59
59
60
60
## Що НЕ може вбудований в браузер JavaScript?
61
61
62
-
Можливості JavaScript в браузері обмежені з метою безпеки користувача. Мета полягає в тому, щоб заборонити небезпечним веб-сторінкам доступ до приватної інформації чи не дати пошкодити дані, що знаходяться на комп'ютері користувача.
62
+
Можливості JavaScript в браузері обмежені з метою безпеки користувача. Мета полягає в тому, щоб заборонити небезпечним веб-сторінкам доступ до приватної інформації чи не дати пошкодити дані, що знаходяться на комп’ютері користувача.
63
63
64
64
Приклади таких обмежень:
65
65
@@ -100,7 +100,7 @@ JavaScript – це єдина браузерна технологія, яка
100
100
101
101
Цього слід очікувати, тому що проекти і вимоги різні для кожного.
102
102
103
-
Останнім часом з'явилося безліч нових мов, які *транспілюються* (конвертуються) в JavaScript до того, як виконаються в браузері.
103
+
Останнім часом з’явилося безліч нових мов, які *транспілюються* (конвертуються) в JavaScript до того, як виконаються в браузері.
104
104
105
105
Сучасні інструменти роблять транспіляцію дуже швидкою і прозорою, дозволяючи розробникам писати код іншою мовою і автоматично конвертувати його "під капотом".
106
106
@@ -116,6 +116,6 @@ JavaScript – це єдина браузерна технологія, яка
116
116
117
117
## Підсумки
118
118
119
-
- JavaScript спочатку був створений лише як мова для браузера, але зараз його також використовують в інших середовищах.
120
-
- Сьогодні, JavaScript позиціонується як найбільш поширена мова для браузера з повною інтеграцією із HTML/CSS.
119
+
-Мова JavaScript спочатку була створена лише як мова для браузера, але зараз її також використовують в інших середовищах.
120
+
- Сьогодні, JavaScript позиціонується як найбільш поширена мова для браузера з повною інтеграцією в HTML/CSS.
121
121
- Є багато мов які "транспілюються" в JavaScript і надають певні функції. Рекомендується переглянути їх, принаймні мигцем, після освоєння JavaScript.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/05-types/article.md
+20-17
Original file line number
Diff line number
Diff line change
@@ -12,9 +12,9 @@ let message = "привіт";
12
12
message =123456;
13
13
```
14
14
15
-
Мови програмування, які дозволяють таке робити, називаються "динамічно типізованими". Мається на увазі, що типи даних визначені, але змінні не прив'язанні до жодного типу.
15
+
Мови програмування, які дозволяють таке робити, називаються "динамічно типізованими". Мається на увазі, що типи даних визначені, але змінні не прив’язанні до жодного типу.
16
16
17
-
## Number (число)
17
+
## Число (number)
18
18
19
19
```js
20
20
let n =123;
@@ -66,7 +66,7 @@ n = 12.345;
66
66
67
67
## BigInt
68
68
69
-
В JavaScript, тип "number" не може вміщувати числа більші за <code>(2<sup>53</sup>-1)</code> (це `9007199254740991`), або менші за <code>-(2<sup>53</sup>-1)</code> для від'ємних чисел. Це технічне обмеження, викликане їх внутрішньою реалізацією.
69
+
В JavaScript, тип "number" не може вміщувати числа більші за <code>(2<sup>53</sup>-1)</code> (це `9007199254740991`), або менші за <code>-(2<sup>53</sup>-1)</code> для від’ємних чисел. Це технічне обмеження, викликане їх внутрішньою реалізацією.
70
70
71
71
Для більшості потреб цього достатньо, але бувають випадки, коли нам потрібні дійсно великі числа, наприклад, для криптографії або мікроксекундних часових міток (timestamps).
Через те, що тип `BigInt` рідко використовується, ми не розглядатимемо його в цьому розділі, проте ми винесли його в окремий розділ <info:bigint>. Прочитайте його, якщо вам потрібні такі великі числа.
83
83
84
+
84
85
```smart header="Проблеми з сумісністю"
85
-
Цієї миті, підтримка типу `BigInt` є в браузерах Firefox/Chrome/Edge, але не в Safari/IE.
86
+
Цієї миті, підтримка типу `BigInt` є в останніх версіях Firefox/Chrome/Edge/Safari з iOS 14, але не в IE.
86
87
```
87
88
88
-
## String (рядок)
89
+
На сайті *MDN* є [таблиця сумісності](https://developer.mozilla.org/uk/docs/Web/JavaScript/Reference/Global_Objects/BigInt#Сумісність_з_веб-переглядачами), де показано, які версії браузерів підтримують тип `BigInt`.
В JavaScript `null` не є "посиланням на неіснуючий об'єкт" або "покажчиком на null", як може бути в інших мовах програмування.
169
+
В JavaScript `null` не є "посиланням на неіснуючий об’єкт" або "покажчиком на null", як може бути в інших мовах програмування.
167
170
168
171
Це лише спеціальне значення, яке представляє "нічого", "порожнє" або "невідоме значення".
169
172
@@ -196,15 +199,15 @@ alert(age); // "undefined"
196
199
197
200
...Але ми не рекомендуємо так робити. Як правило, ми використовуємо `null`, щоб присвоїти змінній значення "порожнє" або "невідоме", тоді як `undefined` зарезервоване для позначення початкового значення для неприсвоєних речей.
198
201
199
-
## Об'єкти (object) та символи (symbol)
202
+
## Об’єкти (object) та символи (symbol)
200
203
201
204
Тип `object` є особливим типом.
202
205
203
-
Всі інші типи називаються "примітивами", тому що їх значення можуть містити тільки один елемент (це може бути рядок, число, або будь-що інше). В об'єктах же зберігаються колекції даних і більш складні структури.
206
+
Всі інші типи називаються "примітивами", тому що їх значення можуть містити тільки один елемент (це може бути рядок, число, або будь-що інше). В об’єктах же зберігаються колекції даних і більш складні структури.
204
207
205
-
Об'єкти є важливою частиною мови, тому ми окремо розглянемо їх в розділі <info:object> після того, як дізнаємося більше про примітиви.
208
+
Об’єкти є важливою частиною мови, тому ми окремо розглянемо їх в розділі <info:object> після того, як дізнаємося більше про примітиви.
206
209
207
-
Тип `symbol` використовується для створення унікальних ідентифікаторів в об'єктах. Ми згадали цей тип для повноти, проте детальніше вивчимо його після об'єктів.
210
+
Тип `symbol` використовується для створення унікальних ідентифікаторів в об’єктах. Ми згадали цей тип для повноти, проте детальніше вивчимо його після об’єктів.
Останні три рядки можуть потребувати додаткового пояснення:
249
252
250
-
1.`Math` — це вбудований об'єкт, який забезпечує математичні операції. Ми вивчимо його в розділі <info:number>. Тут він використаний лише як приклад об'єкта.
251
-
2. Результатом `typeof null` є `"object"`. Це офіційно визнана помилка в поведінці `typeof`, що існує ще з ранніх днів JavaScript і зберігається для сумісності. Безперечно, `null` не є об'єктом. Це особливе значення з власним типом.
252
-
3. Результатом `typeof alert` є `"function"`, тому що `alert` — це функція. Ми будемо вивчати функції в наступних розділах, де ми також побачимо, що в JavaScript немає спеціального типу "function". Функції належать до типу "об'єкт". Але `typeof` трактує їх по-іншому, повертаючи `"function"`. Це також присутнє з ранніх днів JavaScript. Технічно, така поведінка не зовсім правильна, але може бути зручною на практиці.
253
+
1.`Math` — це вбудований об’єкт, який забезпечує математичні операції. Ми вивчимо його в розділі <info:number>. Тут він використаний лише як приклад об’єкта.
254
+
2. Результатом `typeof null` є `"object"`. Це офіційно визнана помилка в поведінці `typeof`, що існує ще з ранніх днів JavaScript і зберігається для сумісності. Безперечно, `null` не є об’єктом. Це особливе значення з власним типом.
255
+
3. Результатом `typeof alert` є `"function"`, тому що `alert` — це функція. Ми будемо вивчати функції в наступних розділах, де ми також побачимо, що в JavaScript немає спеціального типу "function". Функції належать до типу "об’єкт". Але `typeof` трактує їх по-іншому, повертаючи `"function"`. Це також присутнє з ранніх днів JavaScript. Технічно, така поведінка не зовсім правильна, але може бути зручною на практиці.
0 commit comments