JavaScript
| JavaScript | |
|---|---|
|
| |
| Парадигма | імперативна, елементи функціональної, об'єктно-орієнтована (прототип-орієнтована) |
| Дата появи | 1995 |
| Творці | Брендан Айк |
| Розробник | Netscape Communications Corporation, Mozilla Foundation |
| Останній реліз | ECMAScript 2020[1] (червень 2020) |
| Тестова версія | (27 липня 2010) |
| Система типізації | динамічна, качина |
| Основні реалізації | V8, SpiderMonkey, Rhino, KJS, Carakan, Chakra (Microsoft) |
| Під впливом від | Scheme, Self, Java, C, Python |
| Вплинула на | ActionScript, CoffeeScript, Dart, JScript .NET, Objective-J, QML, TypeScript, LiveScript |
| Звичайні розширення файлів |
.js[2] |
| Вебсайт | ecma-international.org/publications-and-standards/standards/ecma-262/ |
| | |
| Розширення файлу: |
.js |
|---|---|
| MIME-тип: |
|
| Узагальнений ідентифікатор типу: | com.netscape.javascript-source[4] |
| Тип формату: | текстовий файл |
JavaScript (JS) — динамічна, об'єктно-орієнтована[5] прототипна мова програмування. Реалізація стандарту ECMAScript. Найчастіше використовується для створення сценаріїв вебсторінок, що надає можливість на боці клієнта (пристрої кінцевого користувача) взаємодіяти з користувачем, керувати браузером, асинхронно обмінюватися даними з сервером, змінювати структуру та зовнішній вигляд вебсторінки.
JavaScript класифікують як прототипну (підмножина об'єктно-орієнтованої), скриптову мову програмування з динамічною типізацією. Окрім прототипної, JavaScript також частково підтримує інші парадигми програмування (імперативну та частково функціональну) і деякі відповідні архітектурні властивості, зокрема: динамічна та слабка типізація, автоматичне керування пам'яттю, прототипне наслідування, функції як об'єкти першого класу.
Застосування[ред. | ред. код]
Мова JavaScript використовується для:
- написання сценаріїв вебсторінок для надання їм інтерактивності
- створення односторінкових та прогресивних вебзастосунків (React, AngularJS, Vue.js)
- програмування на боці сервера (Node.js (Express.js))
- стаціонарних застосунків (Electron[6], NW.js[7])
- мобільних застосунків (React Native[8], Cordova[9])
- сценаріїв в прикладних програмах (наприклад, в програмах зі складу Adobe Creative Suite чи Apache JMeter)
- всередині PDF-документів тощо.
Попри схожість назв, мови Java та JavaScript є двома різними мовами, що мають відмінну семантику, хоча й мають схожі риси в стандартних бібліотеках та правилах іменування. Синтаксис обох мов отриманий «у спадок» від мови С, але семантика та дизайн JavaScript є результатом впливу мов Self та Scheme.[10]
Історія[ред. | ред. код]
Поява в Netscape[ред. | ред. код]
1995 року компанія Netscape поставила завдання вбудувати мову програмування Scheme чи «якусь схожу» в браузер Netscape. Для цього був запрошений Брендан Айк, американський розробник, що спеціалізувався на системному програмуванні. Також, для прискорення розробки, Netscape почали співробітництво з компанією Sun Microsystems.
З часом, концепція розроблюваної мови програмування була розширена до можливості використання безпосередньо в HTML-коді сторінки. Компанії мали на меті створити мову, що могла зв'язати різні частини вебсайтів: зображень, Java-аплетів, об'єктної моделі документа. Ця мова повинна була стати зручною для вебдизайнерів та некваліфікованих програмістів. Робочою назвою нової мови була Mocha, яка була змінена на LiveScript в перших двох бета-версіях браузера Netscape 2.0. А дещо пізніше, користуючись популярністю бренду Java, LiveScript був перейменований на JavaScript і третя бета-версія (2.0B3) Netscape 2.0 вже вийшла з сучасною назвою[11][12]. Для цього була придбана відповідна ліцензія у компанії Sun Microsystems, що володіла брендом