Skip to content

Commit 19f815e

Browse files
committed
Merge branch 'master' into 1_02_11_logical_operators
2 parents 81b1fd9 + f6118dd commit 19f815e

342 files changed

Lines changed: 5415 additions & 2081 deletions

File tree

Some content is hidden

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

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
Є можливість взаємодії з камерою/мікрофоном або іншими пристроями, але для цього потрібен явний дозвіл користувача. Тому сторінка, на якій увімкнений 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` і звідти викрадати інформацію.
7676
- JavaScript може легко спілкуватися через мережу з сервером, від якого отримана поточна сторінка. Але його здатність отримувати дані з інших сайтів/доменів обмежена. Запит на інший домен також можливий, проте це потребує спеціального заголовку в HTTP від віддаленого сервера. Це зроблено з метою безпеки.
@@ -109,9 +109,10 @@ Javascript – це єдина браузерна технологія, яка
109109

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

114-
Їх є ще більше. Звичайно, навіть якщо ми використовуємо одну з цих мов, ми також повинні знати JavaScript, щоб дійсно розуміти, що робимо.
115+
Їх є ще більше. Звичайно, навіть якщо ми використовуємо одну з цих транспілюючих мов, ми також повинні знати JavaScript, щоб дійсно розуміти, що робимо.
115116

116117
## Підсумки
117118

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
2+
# Посібники й специфікації
3+
4+
Ця книга — це *посібник*. Вона спрямована на те, щоб допомогти вам поступово вивчити мову. Проте, як тільки ви познайомитеся з основами, вам знадобляться й інші джерела.
5+
6+
7+
## Специфікація
8+
9+
**Специфікація ECMA-262** містить найглибшу, найдетальнішу й найбільш сформулювану інформацію про JavaScript. Фактично, ця специфікація визначає мову.
10+
11+
Але через те, що ця специфікація чітко сформулювана, її важко зрозуміти з першого разу. Тому, якщо вам потрібне найнадійніше джерело інформації про деталі мови, це правильне місце. Однак, цей посібник не для повсякденного використання.
12+
13+
Останні зміни до специфікації описано на сайті <https://tc39.es/ecma262/>.
14+
15+
Щоб прочитати про найновіші функції, які покищо широко не підтримуються браузерами, перегляньте пропозиції на <https://github.com/tc39/proposals>.
16+
17+
Також, якщо ви розробляєте для браузерів, вам буде цікаво прочитати про інші специфікації, які описано в [другій частині](info:browser-environment) цього посібника.
18+
19+
## Посібники
20+
21+
- **MDN (Mozilla) JavaScript Reference** — це посібник з прикладами та іншою інформацією. Він чудово підходить для детального вивчення окремих функцій, методів тощо.
22+
23+
Його можна знайти за цим посиланням <https://developer.mozilla.org/uk/docs/Web/JavaScript/Reference>.
24+
25+
Хоча, замість пошуку на сайті, краще використовувати пошукові системи. Просто напишіть "MDN [термін]" в пошуковому запиті. Наприклад, запит "[MDN parseInt](https://www.google.com.ua/search?q=MDN+parseInt)" знайде інформацію про функцію `parseInt`.
26+
27+
28+
- **MSDN** – посібник від Microsoft, де зібрано багато інформацію, включаючи JavaScript (часто згадується як JScript). Якщо комусь потрібно дізнатися щось зв'язане з Internet Explorer/Microsoft Edge, краще шукати інформацію на сайті <http://msdn.microsoft.com/>.
29+
30+
Також, можна використовувати внутрішній пошук з фразами, такими як "RegExp MSDN" або "RegExp MSDN jscript".
31+
32+
## Підтримка функцій
33+
34+
Мова JavaScript активно розвивається — до неї регулярно додаються нові функції.
35+
36+
Щоб дізнатися, чи підтримує браузер або інший рушій певну можливість JavaScript, дивіться на сайтах:
37+
38+
- <https://caniuse.com/> - для кожної веб-технології приведено таблицю сумісності з усіма браузерами; тобто, щоб побачити, які браузери підтримують сучасні криптографічні функції, слід ввести в пошуку "[Cryptography](http://caniuse.com/#feat=cryptography)".
39+
- <https://kangax.github.io/compat-table> - таблиця з усіма можливостями мови та рушії, які підтримують, або не підтримують відповідні технології.
40+
41+
Всі ці ресурси корисні в повсякденній розробці, тому що вони містять корисну інформацію про деталі мови, їхню підтримку тощо.
42+
43+
Будь ласка, збережіть собі ці сайти (або цю сторінку); вони вам знадобляться, якщо буде потреба детальніше розібратися в конкретному функціоналі мови.

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

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,12 @@ IDE завантажує проект (який може мати багато
1212

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

15-
- [WebStorm](http://www.jetbrains.com/webstorm/) для фронтент розробників. Ця ж компанія пропонує інші редактори для інших мов (платно).
16-
- [Netbeans](http://netbeans.org/) (безкоштовно).
15+
- [Visual Studio Code](https://code.visualstudio.com/) (кросплатформний, безкоштовний).
16+
- [WebStorm](http://www.jetbrains.com/webstorm/) (кросплатформний, платний).
1717

18-
Всі ці IDE є кросплатформними (працюють на всіх основних ОС: Linux, Windows, macOS).
18+
Для Windows, також може бути "Visual Studio", не плутайте з "Visual Studio Code". "Visual Studio" платний редактор, який працює лише на Windows, добре підходить для програмування на платформі .NET. Також хороший для програмування на JavaScript.
1919

20-
Для Windows, також може бути "Visual Studio", не плутайте з "Visual Studio Code". "Visual Studio" платний редактор, який працює лише на Windows, добре підходить для програмування на платформі .NET. Безкоштовна версія називається [Visual Studio Community](https://www.visualstudio.com/vs/community/).
21-
22-
Багато IDE платні, проте мають пробний період. Їхня вартість зазвичай незначна в порівнянні із зарплатою кваліфікованого розробника.
23-
Правильний вибір редактора дозволить зберегти найцінніший ресурс — ваш час.
24-
Тому просто виберіть найкращий варіант, який задовольнятиме усім вашим потребам.
20+
Багато IDE платні, проте мають пробний період. Їхня вартість зазвичай незначна в порівнянні із зарплатою кваліфікованого розробника. Правильний вибір редактора дозволить зберегти найцінніший ресурс — ваш час. Тому просто виберіть найкращий варіант, який задовольнятиме усім вашим потребам.
2521

2622
## Легкі редактори
2723

@@ -35,28 +31,15 @@ IDE завантажує проект (який може мати багато
3531

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

38-
- [Visual Studio Code](https://code.visualstudio.com/) (кросплатформний, безкоштовний) також має безліч функцій IDE.
3934
- [Atom](https://atom.io/) (cross-кросплатформний, безкоштовний).
4035
- [Sublime Text](http://www.sublimetext.com) (кросплатформний, випробувальний термін).
4136
- [Notepad++](https://notepad-plus-plus.org/) (Windows, безкоштовний).
4237
- [Vim](http://www.vim.org/) та [Emacs](https://www.gnu.org/software/emacs/) також хороші, якщо знати, як ними користуватися.
4338

44-
## Мої улюблені
45-
46-
Особисто автор цієї статті використовує обидва редактори: IDE для проектів і легкий редактор для швидкого редагування окремих файлів.
47-
48-
Я використовую:
49-
50-
- Як IDE для JS -- [WebStorm](http://www.jetbrains.com/webstorm/) (я переключаюся на інший редактор JetBrains, коли потрібно працювати з іншою мовою)
51-
- Як легкий редактор -- [Vim](https://www.vim.org/) або [Notepad++](https://notepad-plus-plus.org/).
52-
5339
## Не будемо сперечатися
5440

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

57-
Незважаючи на те, що редактор Vim відноситься до легких редакторів, в освоєнні він досить складний. Це потужний редактор з багатим функціоналом, і вивчивши хоча б його базовий функціонал, ви вже ніколи не вернетеся до інших редакторів.
58-
Цей редактор — це вибір професіоналів.
59-
6043
У нашому великому світі є й інші редактори. Будь ласка, потратьте трохи часу на перегляд декількох редакторів, і виберіть той, який вам найбільш до вподоби.
6144

6245
Вибір редактора, як і любого іншого інструменту, індивідуальний, і залежить від ваших проектів, звичок і також персональних вподобань.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

1-js/01-getting-started/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# Введення
1+
# Вступ
22

33
Про мову JavaScript і робоче середовище для розробки.

0 commit comments

Comments
 (0)