Skip to content

Commit 7abff68

Browse files
committed
Merge branch 'master' of github.com:javascript-tutorial/uk.javascript.info
2 parents 1cfad66 + f161f60 commit 7abff68

File tree

31 files changed

+303
-298
lines changed

31 files changed

+303
-298
lines changed

.all-contributorsrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -885,6 +885,15 @@
885885
"contributions": [
886886
"bug"
887887
]
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+
]
888897
}
889898
],
890899
"commitConvention": "angular",

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

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

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

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

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

6060
## Що НЕ може JavaScript?
@@ -67,17 +67,17 @@
6767

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

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

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

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

7878
![](limitations.svg)
7979

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

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

@@ -106,10 +106,10 @@ 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.
112-
- [Dart](https://dart.dev/) -- це автономна мова, яка має власний рушій, що працює в небраузерних середовищах (як-от мобільні застосунки), але також може транспілюватися в JavaScript. Розробляється Google.
112+
- [Dart](https://dart.dev/) -- це автономна мова, яка має власний рушій, що працює в не браузерних середовищах (як-от мобільні застосунки), але також може транспілюватися в JavaScript. Розробляється Google.
113113
- [Brython](https://brython.info/) -- це транспілятор коду Python у JavaScript, що дозволяє писати застосунки на чистому Python без використання JavaScript.
114114
- [Kotlin](https://kotlinlang.org/docs/js-overview.html) -- це сучасна, лаконічна та безпечна мова програмування, яку можна компілювати для браузера або NodeJS.
115115

@@ -118,5 +118,5 @@ JavaScript -- це єдина браузерна технологія, яка с
118118
## Підсумки
119119

120120
- Мова JavaScript спочатку була створена лише як мова для браузера, але зараз її також використовують в інших середовищах.
121-
- Сьогодні JavaScript позиціонується як найбільш поширена мова для браузера, яка повністю інтегрована з HTML/CSS.
121+
- Сьогодні JavaScript вважається найбільш поширеною мовою для браузера, яка повністю інтегрована з HTML/CSS.
122122
- Існує багато мов, які "транспілюються" в JavaScript і надають певні функції. Рекомендується переглянути їх, хоча б мигцем, після освоєння JavaScript.

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88

99
Термін [IDE](https://uk.wikipedia.org/wiki/Інтегроване_середовище_розробки) (Інтегроване середовище розробки) означає потужний редактор з багатьма можливостями, що зазвичай працює з "цілим проєктом". Як зрозуміло з назви, це не тільки редактор коду, а повноцінне "середовище розробки".
1010

11-
IDE завантажує проєкт (який може мати багато файлів), дозволяє переключатися між файлами, надає можливість автозаповнення, яке базується на цілому проєкті (не лише на відкритому файлі), інтегрується із системою контролю версій (наприклад, [git](https://git-scm.com/)), надає можливість розгортання вашого проєкту на тестове середовище та багато інших функцій "на рівні проєкту".
11+
IDE завантажує проєкт (який може мати багато файлів), дозволяє перемикатися між файлами, надає можливість автозаповнення, яке базується на цілому проєкті (не лише на відкритому файлі), інтегрується із системою контролю версій (наприклад, [git](https://git-scm.com/)), надає можливість розгортання вашого проєкту на тестове середовище та багато інших функцій "на рівні проєкту".
1212

1313
Якщо Ви досі не вибрали IDE, розгляньте наступні варіанти:
1414

15-
- [Visual Studio Code](https://code.visualstudio.com/) (багатоплатформний, безкоштовний).
15+
- [Visual Studio Code](https://code.visualstudio.com/) (багатоплатформний, безплатний).
1616
- [WebStorm](http://www.jetbrains.com/webstorm/) (багатоплатформний, платний).
1717

18-
Для Windows, також може бути "Visual Studio", не плутайте з "Visual Studio Code". "Visual Studio" -- потужний платний редактор, який працює лише на Windows, добре підходить для програмування на платформі .NET. Також хороший для програмування на JavaScript. Також існує його безкоштовна версія: [Visual Studio Community](https://www.visualstudio.com/vs/community/).
18+
Для Windows, також може бути "Visual Studio", не плутайте з "Visual Studio Code". "Visual Studio" -- потужний платний редактор, який працює лише на Windows, добре підходить для програмування на платформі .NET. Також хороший для програмування на JavaScript. Також існує його безплатна версія: [Visual Studio Community](https://www.visualstudio.com/vs/community/).
1919

2020
Багато IDE платні, проте мають пробний період. Їхня вартість зазвичай незначна в порівнянні із зарплатою кваліфікованого розробника. Правильний вибір редактора дозволить зберегти найцінніший ресурс -- ваш час. Тому просто виберіть найкращий варіант, який задовольнятиме усім вашим потребам.
2121

@@ -27,12 +27,12 @@ IDE завантажує проєкт (який може мати багато
2727

2828
Головна їхня відмінність від IDE в тому, що IDE працює на рівні проєкту, тому він завантажує набагато більше даних під час запуску, і якщо потрібно, аналізує його структуру. Легкий редактор набагато швидший, якщо нам необхідно відредагували лише один файл.
2929

30-
На практиці, легкі редактори можуть мати багато плаґінів, включаючи аналізатори синтаксису на рівні проєкту, автозаповнення і т. д. Через те, що це значно розширює їх можливості, немає чіткої межі між легкими редакторами та IDE.
30+
На практиці, легкі редактори можуть мати багато плагінів, включаючи аналізатори синтаксису на рівні проєкту, автозаповнення і т. д. Через те, що це значно розширює їх можливості, немає чіткої межі між легкими редакторами та IDE.
3131

3232
Ось ці варіанти заслуговують вашої уваги:
3333

34-
- [Sublime Text](http://www.sublimetext.com) (багатоплатформний, безкоштовний на час випробувального терміну).
35-
- [Notepad++](https://notepad-plus-plus.org/) (Windows, безкоштовний).
34+
- [Sublime Text](http://www.sublimetext.com) (багатоплатформний, безплатний на час випробувального терміну).
35+
- [Notepad++](https://notepad-plus-plus.org/) (Windows, безплатний).
3636
- [Vim](http://www.vim.org/) та [Emacs](https://www.gnu.org/software/emacs/) також хороші, якщо знати, як ними користуватися.
3737

3838
## Не будемо сперечатися

0 commit comments

Comments
 (0)