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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Програми на цій мові називаються *скриптами*. Їх можна писати прямо на сторінці в коді HTML і вони автоматично виконуються при завантаженні сторінки.
Скриптивиглядають і виконуються як простий текст. Для запуску, їм не потрібна спеціальна підготовка чи компілятор.
Скриптинадаються та виконуються як простий текст. Для запуску їм не потрібна спеціальна підготовка чи компілятор.
В цьому плані, JavaScript дуже відрізняється від іншої мови програмування — [Java](https://uk.wikipedia.org/wiki/Java).
У цьому плані JavaScript дуже відрізняється від іншої мови програмування — [Java](https://uk.wikipedia.org/wiki/Java).
```smart header="Чому цю мову називають <u>Java</u>Script?"
Коли мову JavaScript було створено, спочатку вона мала іншу назву: "LiveScript". Але тоді була дуже популярна мова програмування Java, тому було вирішено, що позиціонування нової мови як "молодшого брата" Java допоможе у її популяризації.
Але з часом JavaScript значно виріс і став повністю незалежною мовою програмування зі своєю специфікацією [ECMAScript](https://uk.wikipedia.org/wiki/ECMAScript), і зараз немає нічого спільного з Java.
```
Сьогодні, JavaScript може виконуватися не тількив браузері, але й на сервері, або на будь-якому пристрої, який має спеціальну програму — [рушій JavaScript](https://uk.wikipedia.org/wiki/Рушій_JavaScript).
Сьогодні JavaScript може виконуватися не тількиу браузері, але й на сервері, або на будь-якому пристрої, який має спеціальну програму — [рушій JavaScript](https://uk.wikipedia.org/wiki/Рушій_JavaScript).
Браузер має вбудований рушій, який деколи називають "віртуальною машиною JavaScript".
Expand All
@@ -41,13 +41,13 @@
Рушій застосовує оптимізації на кожному етапі процесу. Він навіть слідкує за скомпільованим скриптом під час його виконання, аналізує дані, які проходять через скрипт, і оптимізує машинний код на основі цих знань.
```
## Що може вбудованийв браузер JavaScript?
## Що може вбудованийу браузер JavaScript?
Сучасний JavaScript — це "безпечна" мова програмування. Вона не надає низькорівневого доступу до пам’яті чи процесора, оскільки початково була створена для браузерів, які цього не потребують.
Можливості JavaScript значно залежать від оточення, в якому він виконується. Наприклад, [Node.js](https://uk.wikipedia.org/wiki/Node.js) підтримує функції, які дозволяють JavaScript читати/записувати довільні файли, здійснювати мережеві запити, та інше.
Вбудованийв браузер JavaScript може робити все, що зв’язано з маніпуляцією веб-сторінками, взаємодією з користувачем та веб-сервером.
Вбудованийу браузер JavaScript може робити все, що зв’язано з маніпуляцією веб-сторінками, взаємодією з користувачем та веб-сервером.
Наприклад, вбудований у браузер JavaScript може:
Expand All
@@ -59,7 +59,7 @@
## Що НЕ може вбудований в браузер JavaScript?
Можливості JavaScriptв браузері обмежені з метою безпеки користувача. Мета полягає в тому, щоб заборонити небезпечним веб-сторінкам доступ до приватної інформації чи не дати пошкодити дані, що знаходяться на комп’ютері користувача.
Можливості JavaScriptу браузері обмежені з метою безпеки користувача. Мета полягає в тому, щоб заборонити небезпечним веб-сторінкам доступ до приватної інформації чи не дати пошкодити дані, що знаходяться на комп’ютері користувача.
Приклади таких обмежень:
Expand All
@@ -68,7 +68,7 @@
Сучасні браузери дозволяють працювати з файлами, але доступ до них обмежений і надається тільки тоді, коли користувач виконав відповідні дії, наприклад, перетягнув файл у вікно браузера чи вибрав його через теґ `<input>`.
Є можливість взаємодії з камерою/мікрофоном або іншими пристроями, але для цього потрібен явний дозвіл користувача. Тому сторінка, на якій увімкнений JavaScript, не може нишком увімкнути веб-камеру, спостерігати за оточенням і відсилати інформацію до [СБУ](https://uk.wikipedia.org/wiki/Служба_безпеки_України).
- Різні вкладки/вікна зазвичай не знають один про одного. Іноді це можливо, наприклад, коли одне вікно використовує JavaScript, щоб відкрити інше. Але навітьв цьомувипадку JavaScript з однієї сторінки не має доступу до іншої, якщо вони з різних сайтів (мають різні домени, протоколи чи порти).
- Різні вкладки/вікна зазвичай не знають один про одного. Іноді це можливо, наприклад, коли одне вікно використовує JavaScript, щоб відкрити інше. Але навітьу цьомуразі JavaScript з однієї сторінки не має доступу до іншої, якщо вони з різних сайтів (мають різні домени, протоколи чи порти).
Це називається "[Політикою того ж походження (Same Origin Policy)](https://uk.wikipedia.org/wiki/Політика_того_ж_походження)". Щоб обійти це обмеження, *обидві сторінки* повинні погодитися на обмін даними і містити JavaScript код, який спеціальним чином буде обмінюватися даними. Ми розглянемо це в посібнику.
Expand DownExpand Up
@@ -106,7 +106,7 @@ JavaScript – це єдина браузерна технологія, яка
Приклади таких мов:
- [CoffeeScript](http://coffeescript.org/) — це "синтаксичний цукор" поверх JavaScript. Він вводить більш короткий синтаксис,дозволяючи нам писати більш чіткий і точний код. Зазвичай, це до вподоби програмістам на Ruby.
- [CoffeeScript](http://coffeescript.org/) — це "синтаксичний цукор" поверх JavaScript. Він вводить більш короткий синтаксис,що дозволяє нам писати більш чіткий і точний код. Зазвичай, це до вподоби програмістам на Ruby.
- [TypeScript](http://www.typescriptlang.org/) зосереджений на додаванні "строгої типізації даних", щоб спростити розробку і підтримку складних систем. Розробляється у Microsoft.
- [Flow](http://flow.org/) також додає типізацію даних, але іншим способом. Розробляється компанією Facebook.
- [Dart](https://www.dartlang.org/) — це автономна мова, яка має власний рушій, що працює в не-браузерних середовищах (як-от мобільні застосунки), але також може транспілюватися в JavaScript. Розробляється компанією Google.
Expand Down
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.