Skip to content

Commit 20a0c2b

Browse files
authored
Merge branch 'master' into fix-language-errors-in-1-js-01-getting-started
2 parents 53f79a6 + 570e5e6 commit 20a0c2b

File tree

85 files changed

+2500
-664
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+2500
-664
lines changed

.all-contributorsrc

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,8 @@
792792
"avatar_url": "https://avatars.githubusercontent.com/u/67638952?v=4",
793793
"profile": "https://github.com/ltlaitoff",
794794
"contributions": [
795-
"bug"
795+
"bug",
796+
"translation"
796797
]
797798
},
798799
{
@@ -839,6 +840,60 @@
839840
"contributions": [
840841
"bug"
841842
]
843+
},
844+
{
845+
"login": "Andygol",
846+
"name": "Andrii Holovin",
847+
"avatar_url": "https://avatars.githubusercontent.com/u/369696?v=4",
848+
"profile": "https://github.com/Andygol",
849+
"contributions": [
850+
"bug"
851+
]
852+
},
853+
{
854+
"login": "Babrov",
855+
"name": "Illia Babrov",
856+
"avatar_url": "https://avatars.githubusercontent.com/u/60341182?v=4",
857+
"profile": "https://www.linkedin.com/in/ibabrov/",
858+
"contributions": [
859+
"bug"
860+
]
861+
},
862+
{
863+
"login": "milax",
864+
"name": "Yevhen Kuzmin",
865+
"avatar_url": "https://avatars.githubusercontent.com/u/432327?v=4",
866+
"profile": "https://github.com/milax",
867+
"contributions": [
868+
"bug"
869+
]
870+
},
871+
{
872+
"login": "CodyMaster007",
873+
"name": "Danylo",
874+
"avatar_url": "https://avatars.githubusercontent.com/u/82391244?v=4",
875+
"profile": "https://github.com/CodyMaster007",
876+
"contributions": [
877+
"bug"
878+
]
879+
},
880+
{
881+
"login": "BogSala",
882+
"name": "BogSala",
883+
"avatar_url": "https://avatars.githubusercontent.com/u/90139360?v=4",
884+
"profile": "https://github.com/BogSala",
885+
"contributions": [
886+
"bug"
887+
]
888+
},
889+
{
890+
"login": "darynaplrs",
891+
"name": "Daryna Poliarush",
892+
"avatar_url": "https://avatars.githubusercontent.com/u/90515799?v=4",
893+
"profile": "https://github.com/darynaplrs",
894+
"contributions": [
895+
"bug"
896+
]
842897
}
843898
],
844899
"commitConvention": "angular",

1-js/01-getting-started/1-intro/article.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
# Вступ до JavaScript
22

3-
Розгляньмо, що такого особливого в JavaScript, чого ми можемо досягти за її допомогою та які ще технології пов’язані з нею.
3+
Розгляньмо, що такого особливого в мові JavaScript, чого ми можемо досягти за її допомогою та які ще технології пов’язані з нею.
44

55
## Що таке JavaScript?
66

77
*JavaScript* було створено для того, щоб "оживити вебсторінки".
88

9-
Програми цією мовою називаються *скриптами*. Їх можна писати прямо на сторінці в коді HTML і вони автоматично виконуватимуться при завантаженні сторінки.
9+
Програми цією мовою називаються *скриптами*. Їх можна писати прямо в коді HTML-сторінок і вони автоматично виконуватимуться при їх завантаженні.
1010

11-
Скрипти надаються та виконуються як простий текст. Для запуску їм не потрібна спеціальна підготовка чи компілятор.
11+
Скрипти записуються та виконуються як простий текст. Для запуску їм не потрібна спеціальна підготовка чи компілятор.
1212

1313
У цьому плані JavaScript дуже відрізняється від іншої мови програмування — [Java](https://uk.wikipedia.org/wiki/Java).
1414

1515
```smart header="Чому цю мову називають <u>Java</u>Script?"
16-
Коли мову JavaScript було створено, спочатку вона мала іншу назву: "LiveScript". Але тоді була дуже популярна мова програмування Java, тому було вирішено, що позиціонування нової мови як "молодшої сестри" Java допоможе в її популяризації.
16+
Коли мову JavaScript було створено, спочатку вона мала іншу назву: "LiveScript". Тоді була дуже популярна мова програмування Java, тому було вирішено, що позиціонування нової мови як "молодшої сестри" Java допоможе в її популяризації.
1717
18-
Але згодом JavaScript стала повністю незалежною мовою програмування зі своєю специфікацією [ECMAScript](https://uk.wikipedia.org/wiki/ECMAScript) і зараз не має нічого спільного з Java.
18+
Згодом JavaScript стала повністю незалежною мовою програмування зі своєю специфікацією [ECMAScript](https://uk.wikipedia.org/wiki/ECMAScript) і зараз не має нічого спільного з Java.
1919
```
2020

2121
Сьогодні JavaScript може виконуватися не тільки в браузері, але й на сервері або на будь-якому пристрої, який має спеціальну програму — [рушій JavaScript](https://uk.wikipedia.org/wiki/Рушій_JavaScript).
@@ -53,7 +53,7 @@
5353

5454
- Додавати новий HTML-код на сторінку, змінювати наявний вміст, змінювати стилі.
5555
- Реагувати на дії користувача, опрацьовувати натискання миші, переміщення вказівника, натискання на клавіші клавіатури.
56-
- Відправляти запити через мережу до віддалених серверів, завантажувати та відвантажувати файли (так звані технології [AJAX](https://uk.wikipedia.org/wiki/AJAX) і [COMET](https://uk.wikipedia.org/wiki/Comet_(програмування))).
56+
- Надсилати запити мережею до віддалених серверів, викачувати та надсилати файли (так звані технології [AJAX](https://uk.wikipedia.org/wiki/AJAX) і [COMET](https://uk.wikipedia.org/wiki/Comet_(програмування))).
5757
- Отримувати та надсилати [куки](https://uk.wikipedia.org/wiki/Куки), ставити запитання відвідувачам, показувати повідомлення.
5858
- Запам’ятовувати дані на стороні клієнта ("[local storage](https://developer.mozilla.org/uk/docs/Web/API/Window/localStorage)"), які будуть доступні в майбутніх сесіях на цьому вебсайті.
5959

@@ -67,26 +67,26 @@
6767

6868
Сучасні браузери дозволяють працювати з файлами, але доступ до них обмежений і надається тільки тоді, коли користувач виконав відповідні дії, наприклад, перетягнув файл у вікно браузера чи вибрав його через теґ `<input>`.
6969

70-
Є шляхи взаємодії з камерою/мікрофоном та іншими пристроями, але для цього потрібен явний дозвіл користувача. Тому сторінка з JavaScript не може нишком увімкнути вебкамеру, спостерігати за оточенням і відсилати інформацію до [СБУ](https://uk.wikipedia.org/wiki/Служба_безпеки_України).
70+
Є шляхи взаємодії з камерою/мікрофоном та іншими пристроями, але для цього потрібен явний дозвіл користувача. Тому сторінка з JavaScript не може нишком увімкнути вебкамеру, спостерігати за оточенням і надсилати інформацію до [СБУ](https://uk.wikipedia.org/wiki/Служба_безпеки_України).
7171
- Різні вкладки/вікна зазвичай не знають одне про одного. Іноді це можливо, наприклад, коли одне вікно використовує JavaScript, щоб відкрити інше. Але навіть у такому випадку JavaScript з однієї сторінки не має доступу до іншої, якщо вони з різних сайтів (мають різні домени, протоколи чи порти).
7272

73-
Це називається "[Політикою того ж походження (Same Origin Policy)](https://uk.wikipedia.org/wiki/Політика_того_ж_походження)". Щоб обійти це обмеження, *обидві сторінки* мають погодитися на обмін даними та містити спеціальний JavaScript-код, який здійснюватиме це. Ми розглянемо таку тему в посібнику.
73+
Це називається "[Політикою того ж походження (Same Origin Policy)](https://uk.wikipedia.org/wiki/Політика_того_ж_походження)". Щоб обійти це обмеження, *обидві сторінки* мають погодитися на обмін даними та містити спеціальний JavaScript-код, який здійснюватиме це. Ми розглянемо цю тему в посібнику.
7474

7575
Знову-таки, це обмеження існує задля безпеки користувача. Сторінка за адресою `http://anysite.com`, яку відкрив користувач, не повинна мати доступ до іншої вкладки браузера з URL-адресою `http://gmail.com` і викрадати звідти інформацію.
76-
- JavaScript може легко спілкуватися через мережу з сервером, від якого отримана поточна сторінка. Але здатність скрипту отримувати дані з інших сайтів/доменів обмежена. Такі запити можливі, але потребують спеціальної згоди (вираженої в HTTP-заголовках) від віддаленого сервера. Це також зроблено з метою безпеки.
76+
- JavaScript може легко спілкуватися мережею з сервером, від якого отримана поточна сторінка. Але здатність скрипту отримувати дані з інших сайтів/доменів обмежена. Такі запити можливі, але потребують спеціальної згоди (вираженої в HTTP-заголовках) від віддаленого сервера. Це також зроблено задля безпеки.
7777

7878
![](limitations.svg)
7979

8080
Таких обмежень немає, якщо JavaScript використовується за межами браузера, наприклад, на сервері. Сучасні браузери дозволяють установлювати плагіни/розширення, які мають розширені можливості, проте вимагають розширених прав.
8181

82-
## Що робить JavaScript унікальною?
82+
## Що робить мову JavaScript унікальною?
8383

8484
Є принаймні *три* чудові особливості JavaScript:
8585

8686
```compare
8787
+ Цілковита інтеграція з HTML/CSS.
8888
+ Прості речі робляться просто.
89-
+ Підтримується всіма сучасними браузерами й увімкнена усталено.
89+
+ Підтримується всіма сучасними браузерами та є типово увімкненою.
9090
```
9191
JavaScript -- це єдина браузерна технологія, яка суміщає ці три речі.
9292

@@ -106,7 +106,7 @@ JavaScript -- це єдина браузерна технологія, яка с
106106

107107
Приклади таких мов:
108108

109-
- [CoffeeScript](http://coffeescript.org/) -- це "синтаксичний цукор" для JavaScript. Вона вводить коротший синтаксис, дозволяючи нам писати прозорий та точний код. Зазвичай це до вподоби програмістам на Ruby.
109+
- [CoffeeScript](http://coffeescript.org/) -- це "синтаксичний цукор" для JavaScript. Вона вводить коротший синтаксис, дозволяючи нам писати прозорий та точний код. Зазвичай це до вподоби програмістам, які пишуть на Ruby.
110110
- [TypeScript](http://www.typescriptlang.org/) зосереджена на додаванні "строгої типізації даних" для спрощення розробки та підтримки складних систем. Розробляється Microsoft.
111111
- [Flow](http://flow.org/) також додає типізацію даних, але іншим способом. Розробляється Facebook.
112112
- [Dart](https://dart.dev/) -- це автономна мова, яка має власний рушій, що працює в не браузерних середовищах (як-от мобільні застосунки), але також може транспілюватися в JavaScript. Розробляється Google.

1-js/01-getting-started/3-code-editors/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ IDE завантажує проєкт (який може мати багато
3939

4040
Я, та мої хороші друзі-розробники, вже давно користуємося цими редакторами, і вони цілком задовольняють усім нашим потребам.
4141

42-
У нашому великому світі є й інші редактори. Будь ласка, приділіть трохи часу на перегляд декількох редакторів, і виберіть той, який вам найбільш до вподоби.
42+
У нашому великому світі є й інші редактори. Будь ласка, приділіть трохи часу на ознайомлення з різними редакторами, і виберіть той, який вам найбільш до вподоби.
4343

4444
Вибір редактора, як і будь-якого іншого інструменту, індивідуальний, і залежить від ваших проєктів, звичок і персональних вподобань.
4545

1-js/02-first-steps/01-hello-world/article.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
## Тег "script"
1111

12-
Програми JavaScript можна вставити у будь-яку частину HTML документа, використовуючи тег `<script>`.
12+
JavaScript скрипти можна вставити у будь-яку частину HTML документа за допомогою тегу `<script>`.
1313

1414
Наприклад:
1515

@@ -110,7 +110,7 @@
110110
</script>
111111
```
112112

113-
Ми повинні вибрати або зовнішній `<script src="…">`, або звичайний `<script>` з кодом.
113+
Ми маємо вибрати або зовнішній `<script src="…">`, або звичайний `<script>` з кодом.
114114

115115
Наведений вище приклад можна розділити на два скрипти:
116116

@@ -124,9 +124,9 @@
124124
125125
## Підсумки
126126
127-
- Ми можемо використовувати тег `<script>` для додавання коду JavaScript на сторінку.
127+
- Щоб додати JavaScript код на сторінку використайте тег `<script>`.
128128
- Атрибути `type` і `language` не потрібні.
129-
- Скрипти у зовнішньому файлі можна вставити за допомогою `<script src="path/to/script.js"></script>`.
129+
- Скрипт з окремого файла можна вставити за допомогою `<script src="path/to/script.js"></script>`.
130130
131131
132132
Існує набагато більше інформації про браузерні скрипти та їхню взаємодію з веб-сторінкою. Але майте на увазі, що ця частина посібника присвячена мові JavaScript, тому ми не повинні відволікатись на деталі реалізації в браузері. Ми будемо використовувати браузер як спосіб запуску JavaScript, що є дуже зручним для читання в Інтернеті, але це лише один із багатьох можливих варіантів.

1-js/02-first-steps/02-structure/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
## Інструкції
66

7-
Інструкції це синтаксичні конструкції та команди, які виконують дії.
7+
Інструкції -- це синтаксичні конструкції та команди, які виконують якісь дії.
88

9-
Ми вже бачили інструкцію `alert('Привіт, світ!')`, яка показує повідомлення "Привіт, світ!".
9+
Ми вже бачили інструкцію `alert('Привіт, світ!')`, яка показує повідомлення 'Привіт, світ!'.
1010

1111
Можна писати стільки інструкцій, скільки завгодно. Інструкції можна розділяти крапкою з комою.
1212

@@ -132,7 +132,7 @@ alert('Світ');
132132
```
133133

134134
```smart header="Використовуйте комбінації клавіш!"
135-
У більшості редакторів рядок коду можна закоментувати, натиснувши комбінацію клавіш `key:Ctrl+/`, а щоби закоментувати декілька рядків виділіть потрібні рядки та натисніть комбінацію клавіш `key:Ctrl+Shift+/`. У macOS потрібно натискати клавішу `key:Cmd` замість `key:Ctrl` і клавішу `key:Option` замість `key:Shift`.
135+
У більшості редакторів рядок коду можна закоментувати, натиснувши комбінацію клавіш `key:Ctrl+/`, а щоби закоментувати декілька рядків -- виділіть потрібні рядки та натисніть комбінацію клавіш `key:Ctrl+Shift+/`. У macOS потрібно натискати клавішу `key:Cmd` замість `key:Ctrl` і клавішу `key:Option` замість `key:Shift`.
136136
```
137137

138138
````warn header="Вкладені коментарі не підтримуються!"

0 commit comments

Comments
 (0)