Skip to content

Commit 8b46e50

Browse files
authored
Merge pull request #340 from astropsy999/patch-1
An Introduction to JavaScript
2 parents 02bb87f + ab343f2 commit 8b46e50

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

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

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

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

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

@@ -13,9 +13,9 @@
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).
@@ -43,54 +43,54 @@
4343

4444
## Що може вбудований у браузер JavaScript?
4545

46-
Сучасний JavaScript — це "безпечна" мова програмування. Вона не надає низькорівневого доступу до пам’яті чи процесора, оскільки початково була створена для браузерів, які цього не потребують.
46+
Сучасний JavaScript -- це "безпечна" мова програмування. Вона не надає низькорівневого доступу до пам’яті чи процесора, оскільки початково була створена для браузерів, які цього не потребують.
4747

48-
Можливості JavaScript значно залежать від оточення, в якому він виконується. Наприклад, [Node.js](https://uk.wikipedia.org/wiki/Node.js) підтримує функції, які дозволяють JavaScript читати/записувати довільні файли, здійснювати мережеві запити, та інше.
48+
Можливості JavaScript значно залежать від оточення, в якому вона виконується. Наприклад, [Node.js](https://uk.wikipedia.org/wiki/Node.js) підтримує функції, які дозволяють JavaScript читати/записувати довільні файли, здійснювати мережеві запити, та інше.
4949

50-
Вбудований у браузер JavaScript може робити все, що зв’язано з маніпуляцією веб-сторінками, взаємодією з користувачем та веб-сервером.
50+
Вбудована у браузер JavaScript може робити все, що пов’язано з маніпуляцією веб-сторінками, взаємодією з користувачем та веб-сервером.
5151

52-
Наприклад, вбудований у браузер JavaScript може:
52+
Наприклад, JavaScript може:
5353

5454
- Додавати новий HTML-код на сторінку, змінювати існуючий вміст, змінювати стилі.
5555
- Реагувати на дії користувача, опрацьовувати натискання миші, переміщення вказівника, натискання на клавіші клавіатури.
5656
- Відправляти запити через мережу до віддалених серверів, завантажувати і відвантажувати файли (так звані технології [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

60-
## Що НЕ може вбудований в браузер JavaScript?
60+
## Що НЕ може JavaScript?
6161

6262
Можливості JavaScript у браузері обмежені з метою безпеки користувача. Мета полягає в тому, щоб заборонити небезпечним веб-сторінкам доступ до приватної інформації чи не дати пошкодити дані, що знаходяться на комп’ютері користувача.
6363

6464
Приклади таких обмежень:
6565

66-
- JavaScript на веб-сторінці не може читати/записувати довільні файли на жорсткому диску, копіювати їх чи виконувати програми. Він не має прямого доступу до функцій ОС.
66+
- JavaScript на веб-сторінці не може читати/записувати довільні файли на жорсткому диску, копіювати їх чи виконувати програми. Вона не має прямого доступу до функцій ОС.
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

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

93-
Це і робить його унікальним. Ось чому JavaScript найбільш поширений засіб створення браузерних інтерфейсів.
93+
Це і робить її унікальною. Ось чому JavaScript найбільш поширений засіб створення браузерних інтерфейсів.
9494

9595
До слова, JavaScript також дозволяє створювати сервери, мобільні застосунки, тощо.
9696

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

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

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

0 commit comments

Comments
 (0)