JavaScript
| JavaScript | |
|---|---|
| | |
| Класс языка | |
| Тип исполнения | интерпретация, JIT в машинные коды[1] |
| Появился в | 1995 |
| Автор | Брендан Эйх |
| Расширение файлов |
.js, .cjs, .mjs[Спецификация 1] |
| Выпуск | ECMAScript 2024[2] (июнь 2024) |
| Система типов | динамическая, утиная |
| Основные реализации | SpiderMonkey, Rhino, KJS (JavaScript)[англ.], JavaScriptCore, V8 |
| Испытал влияние | Lua, Self[3], Си, Scheme[3], Perl[3], Python, Java[3], AWK[3], HyperTalk[3] |
| Повлиял на | Objective-J, Dart, TypeScript |
| Сайт | ecma-international.org/… (англ.) |
| JavaScript | |
|---|---|
| | |
| | |
|
|
|
| Расширение |
.js[6] или .mjs[6] |
| MIME-тип | text/javascript, application/javascript[4][5] |
| Опубликован | сентябрь 1995[7] |
| Тип формата | текстовый файл с исходным кодом |
| Расширен из | ECMAScript |
| Сайт | ecma-international.org/… (англ.) |
JavaScript (англ. /ˈdʒɑːvəskrɪpt/; аббр. JS) — мультипарадигменный язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили. Является реализацией спецификации ECMAScript (стандарт ECMA-262[2]).
JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам[8].
Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.
На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java. Языком JavaScript не владеет какая-либо организация или компания, что отличает его от ряда языков программирования, используемых в веб-разработке[~ 1][9].
Название «JavaScript» является зарегистрированным товарным знаком корпорации Oracle в США[10].
В 1992 году компания Nombas (впоследствии приобретённая Openwave[англ.]) начала разработку встраиваемого скриптового языка Cmm (Си-минус-минус), который, по замыслу разработчиков, должен был стать достаточно мощным, чтобы заменить макросы, сохраняя при этом схожесть с Си, чтобы разработчикам не составляло труда изучить его[11