JS JavaScript Версии
JavaScript был изобретен Брендан Айх в 1995, и стал стандартом ECMA в 1997.
ECMA-262 является официальным названием стандарта. ECMAScript является официальным названием языка.
ECMAScript издания
Год | Имя | Описание |
---|---|---|
1997 | ECMAScript 1 | First Edition. |
1998 | ECMAScript 2 | Editorial changes only. |
1999 | ECMAScript 3 | Added Regular Expressions. Added try/catch. |
ECMAScript 4 | Was never released. | |
2009 | ECMAScript 5 | Added «strict mode». Added JSON support. |
2011 | ECMAScript 5.1 | Editorial changes. |
2015 | ECMAScript 6 | Many new features. Read more in JS Version 6. |
2016 | ECMAScript 7 | Добавлен экспоненциальный оператор (* *). Добавлен массив. prototype. включает. |
2017 | ECMAScript 8 | Добавлено заполнение строк. Добавлен новый объект. Добавлены асинхронные функции. Добавлена общая память. |
ECMAScript 6 is also called ECMAScript 2015.
ECMAScript 7 is also called ECMAScript 2016.
ECMAScript 8 is also called ECMAScript 2017.
Поддержка браузера
ECMAScript 3 is fully supported in all browsers.
ECMAScript 5 is fully supported in all browsers*.
ECMAScript 6 is partially supported in all browsers.
ECMAScript 7 is partially supported in all browsers.
ECMAScript 8 is poorly supported in all browsers.
* Internet Explorer 9 (и более ранние версии), не поддерживает ECMAScript 5 «использовать строгий».
Реализация ECMAScript браузера
Engine | ECMA | Browser |
---|---|---|
V8 | 6 | Chrome (Partial Support) |
SpiderMonkey | 6 | Firefox (Partial Support) |
Chakra | 6 | Edge (Partial Support) |
Nitro | 6 | Safari (Partial Support) |
V8 | 6 | Opera (Partial Support) |
V8 | 5 | Chrome 23 |
SpiderMonkey | 5 | Firefox 21 |
JavaScript 1.8.5 | 5 | Firefox 4 |
Nitro | 5 | Safari 6 |
V8 | 5 | Opera 15 |
Chakra | 5 | Edge 12 |
Chakra | 5 | IE 10 |
JavaScript/ECMAScript/JScript
JavaScript был разработан для Netscape. Первый браузер для запуска JavaScript был Netscape 2 в 1996. После Netscape фонд Mozilla продолжил разработку JavaScript для браузера Firefox. Номера версий JavaScript запускаются с 1,0 до 1,8.
ECMAScript был разработан ECMA International после того, как Организация приняла JavaScript. Первое издание ECMAScript было выпущено в 1997. Номера версий ECMAScript запускаются от 1 до 7.
JScript был разработан Microsoft как совместимый язык JavaScript для Internet Explorer в 1996. Номера версий JScript выполняются с 1,0 по 9,0.
В этом списке сравниваются номера версий трех различных продуктов:
Год | JavaScript | ECMA | JScript | Browser |
---|---|---|---|---|
1996 | 1.0 | Netscape 2 | ||
1996 | 1.0 | Internet Explorer 3 | ||
1996 | 1.1 | Netscape 3 | ||
Версии Javascript
JavaScript был придуман Бренданом Эйхом (Brendan Eich) в 1995 году и стал стандартом ECMA в 1997 году. Официальное название стандарта — ECMA. А официальное названия языка — ECMAScript. С 2015 года версию языка ECMAScript называют по году (ECMAScript 2015).
Редакции ECMAScript
Версия | Официальное название | Описание |
---|---|---|
1 | ECMAScript 1 (1997) | Первая редакция. |
2 | ECMAScript 2 (1998) | Внесены редакционные правки. |
3 | ECMAScript 3 (1999) | Добавлены регулярные выражения. Добавлен оператор try/catch. |
4 | ECMAScript 4 | Никогда не выходил. |
5 | ECMAScript 5 (2009) | Добавлен «строгий режим». Добавлена поддержка JSON. Добавлен String.trim(). Добавлен Array.isArray(). Добавлены методы обхода элементов массива. |
5.1 | ECMAScript 5.1 (2011) | Внесены редакционные правки. |
6 | ECMAScript 2015 | Добавлены ключевые слова let и const. Добавлены значения параметров по умолчанию. Добавлен Array.find(). Добавлен Array.findIndex(). |
7 | ECMAScript 2016 | Добавлен оператор возведения в степень (**). |
8 | ECMAScript 2017 | Добавлен «паддинг» строки (дополнение до нужной длины). Добавлены новые свойства объекта Object. Добавлены асинхронные функции. Добавлены разделяемая память и атомарные операции. |
9 | ECMAScript 2018 | Добавлены свойства rest / spread. Добавлены асинхронные итерации. Добавлен Promise.finally(). Добавления в объект RegExp. |
ECMAScript часто сокращается до ES.
Поддержка браузерами
ECMAScript 3 полностью поддерживается всеми браузерами.
ECMAScript 5 поддерживается всеми современными браузерами.
Поддержка браузерами ES5 (2009)
Браузер | Версия | Начиная с |
---|---|---|
Chrome | 23 | сентябрь 2012 |
Firefox | 21 | апрель 2013 |
IE | 9* | март 2011 |
IE / Edge | 10 | сентябрь 2012 |
Safari | 6 | июль 2012 |
Opera | 15 | июль 2013 |
* Internet Explorer 9 не поддерживает директиву ECMAScript 5 «use strict».
Поддержка браузерами ES6 (2015)
Браузер | Версия | Начиная с |
---|---|---|
Chrome | 58 | апрель 2017 |
Firefox | 54 | июнь 2017 |
Edge | 14 | август 2016 |
Safari | 10 | сентябрь 2016 |
Opera | 55 | август 2017 |
Internet Explorer не поддерживает ECMAScript 2015.
Поддержка браузерами ES7 (2016)
Браузер | Версия | Начиная с |
---|---|---|
Chrome | 68 | май 2018 |
Opera | 47 | июль 2018 |
JavaScript / ECMAScript
JavaScript был разработан для Netscape. Первым браузером, поддерживающим JavaScript, стал вышедший в 1996 году браузер Netscape 2. После Netscape компания Mozilla foundation продолжила разработку JavaScript для своих браузеров Firefox. Последняя версия JavaScript это 1.8.5 (идентична ECMAScript 5).
ECMAScript был разработан Ecma International после адаптации JavaScript. Первая редакция ECMAScript вышла в 1997 году.
Следующая таблица показывает, как соотносятся номера версий этих продуктов:
Год | JavaScript | ECMA | Браузер |
---|---|---|---|
1996 | 1.0 | Netscape 2 | |
1997 | ECMAScript 1 | IE 4 | |
1998 | 1.3 | Netscape 4 | |
1999 | ECMAScript 2 | IE 5 | |
2000 | ECMAScript 3 | IE 5.5 | |
2000 | 1.5 | Netscape 6 | |
2000 | 1.5 | Firefox 1 | |
2011 | ECMAScript 5 | IE 9 (за исключением «use strict») | |
2011 | 1.8.5 | Firefox 4 (за исключением начальных нулей в parseInt) | |
2012 | IE 10 | ||
2012 | Chrome 23 | ||
2012 | Safari 6 | ||
2013 | Firefox 21 | ||
2013 | Opera 15 | ||
2015 | ECMAScript 2015 | Частично поддерживается всеми браузерами |
Internet Explorer 4 и Netscape 4.06 были первыми браузерами, которые стали поддерживать ECMAScript 1.
Internet Explorer 5 был первым браузером, который стал поддерживать ECMAScript 2.
Internet Explorer 5.5 и Netscape 6 были первыми браузерами, которые стали поддерживать ECMAScript 3.
Internet Explorer 9 и Firefox 3.5 были первыми браузерами, которые стали поддерживать ECMAScript 5. При этом IE 9 не поддерживает директиву ECMAScript 5 «use strict».
Chrome 23, IE 10 и Safari 6 были первыми браузерами с полной поддержкой ECMAScript 5.
Java и JavaScript для Windows XP, 7, 8, 10
CodeLobster IDE
20 декабря, 2018CodeLobster IDE – бесплатная интегрированная среда разработки приложений для Microsoft Windows, Mac OS X и Linux. CodeLobster IDE представляет собой полноценный редактор HTML, CSS, JavaScript… Скачать
ASP, PHP, Perl, CGI, HTML, Java и JavaScript, XML, RSS, CSS, Веб-разработчику, Разработчику, Редакторы веб, Редакторы кода, Средства разработки
Blend4Web Community Edition
28 ноября, 2018Blend4Web Community Edition – открытый фреймворк, предназначенный для создания и отображения интерактивной трёхмерной графики в браузерах. Blend4Web Community Edition использует открытый пакет 3D-моделирования Blender для… Скачать
2D и 3D, Java и JavaScript, Веб-разработчику, Веб-фреймворки, Геймерам, Графика и дизайн, Графические движки, Компоненты и библиотеки, Разработчику, Редакторы графики, Средства разработки, Утилиты геймерам
VRCP JVBSDel
21 ноября, 2018VRCP JVBSDel – бесплатная программа для компьютера, с помощью которой можно вырезать и сохранить в отдельный файл коды (теги) скриптов JavaScript, VBScript, C#, PHP и… Скачать
Java и JavaScript, Веб-разработчику, Другое, Разработчику, Скрипты
AngularJS
13 июня, 2018AngularJS – свободный JavaScript-фреймворк с открытым исходным кодом. Предназначен для разработки одностраничных приложений. Его цель – расширение браузерных приложений на основе MVC-шаблона, а также упрощение… Скачать
Java и JavaScript, Веб-разработчику, Веб-фреймворки, Компоненты и библиотеки, Прочие языки, Разработчику, Средства разработки
Adobe Brackets
26 мая, 2018Adobe Brackets – свободный текстовый редактор для веб-разработчиков. Adobe Brackets ориентирован на работу с HTML, CSS и JavaScript. Эти же технологии лежат в основе самого… Скачать
HTML, Java и JavaScript, Веб-разработчику, Разработчику, Редакторы веб, Редакторы кода, Редакторы текста, Текст
XStream
16 апреля, 2018XStream — библиотека классов Java для сериализации объектов в XML (или JSON) формат. XStream является свободным программным обеспечением, распространяемым с использованием лицензии BSD типа. XStream использует рефлексию… Скачать
Java и JavaScript, Веб-разработчику, Компоненты и библиотеки, Разработчику
WinJS
13 февраля, 2018WinJS – свободная JavaScript-библиотека с открытым исходным кодом, разработанная корпорацией Microsoft. Она была создана с целью более лёгкой разработки приложений Магазина Windows для устройств на… Скачать
Java и JavaScript, Веб-разработчику, Компоненты и библиотеки, Разработчику, Средства разработки
WildFly
28 января, 2018WildFly (ранее JBoss Application Server или JBoss AS) — свободный Java EE-сервер приложений с открытым исходным кодом, разработанный одноимённой компанией. Как и многие открытые программы,… Скачать
Java и JavaScript, Веб-разработчику, Веб-серверы, Серверы
Apache Wicket
24 января, 2018Apache Wicket – свободный фреймворк с открытым исходным кодом для создания веб-приложений. Разработан Джонатаном Локе (англ. Jonathan Locke) в 2004 году. С июня 2007 года… Скачать
Java и JavaScript, Веб-разработчику, Веб-фреймворки, Компоненты и библиотеки, Разработчику, Средства разработки
Vaadin
14 августа, 2017Vaadin — свободно распространяемый фреймворк для создания RIA-веб-приложений, разрабатываемый одноимённой финской компанией. В отличие от библиотек на JavaScript и специфических плагинов для браузеров, Vaadin предлагает… Скачать
Java и JavaScript, Веб-разработчику, Веб-фреймворки, Компоненты и библиотеки, Разработчику
О JavaScript — Веб-технологии для разработчиков
Что такое JavaScript?
JavaScript® (часто сокращают до JS) — это лёгкий, интерпретируемый, объектно-ориентированный язык с функциями первого класса, самый известный скриптовый язык для веб-страниц, но также используется во многих не браузерных окружениях. Прототипно-ориентированный, мультипарадигменный язык сценариев, который поддерживает динамический, объектно-ориентированный, императивный и функциональный стили программирования.
JavaScript запускается на стороне клиента Интернета, который может использоваться для создания/программирования того, как веб-страницы будут вести себя при наступлении каких-либо событий. JavaScript легко изучить, а также это мощный скриптовый язык, широко используемый для контролирования поведения веб-страниц.
Вопреки распространенному мнению, JavaScript не является «интерпретируемым Java». В двух словах, JavaScript — это динамический скриптовый язык, поддерживающий прототипное создание объектов. Базовый синтаксис намеренно похож на Java и C++, чтобы уменьшить число новых концепций, необходимых для изучения языка. Такие языковые конструкции, как if
, for
, while
, switch
, try ... catch
похожи на конструкции этих языков.
JavaScript может функционировать и как процедурный, и как объектно-ориентированный язык. Объекты можно создавать программно во время выполнения, путем присоединения методов и свойств или пустых объектов во время выполнения, в отличие от синтаксических определений классов в компилируемых языках, таких как С++ или Java. После того, как объект был создан, он может быть использован в качестве плана (или прототипа) для создания похожих объектов.
Динамические возможности JavaScript включают: создание объектов во время выполнения, переменное число параметров, динамическое создание скриптов (с помощью eval
), перебор объектов (с помощью for ... in
), восстановление исходного кода (программы на JavaScript могут декомпилировать тела функций обратно в исходный код).
Для более глубокого погружения в программирование на JavaScript, используйте ссылки ниже в разделе Ресурсы по JavaScript.
Какие реализации JavaScript доступны?
Mozilla предоставляет две реализации JavaScript. Самая первая реализация JavaScript была создана Бренданом Эйхом (Brendan Eich) в компании Netscape, и с тех пор обновляется, чтобы соответствовать ECMA-262 Edition 5 и более поздним версиям. Этот движок называется SpiderMonkey и реализован на языке C/C++. Движок Rhino создан Норрисом Бойдом (Norris Boyd) и реализован на языке Java. Как и SpiderMonkey, Rhino соответствует ECMA-262 Edition 5.
Несколько оптимизаций, таких как TraceMonkey (Firefox 3.5), JägerMonkey (Firefox 4) и IonMonkey, добавили в SpiderMonkey со временем. Работа всегда продолжается, чтобы улучшить производительность выполнения JavaScript.
Кроме вышеприведенных существуют и другие популярные реализации:
- V8 от Google, используемый в браузерах Google Chrome и последних версиях Opera. Также используется в Node.js.
- JavaScriptCore (SquirrelFish/Nitro), используемый в WebKit браузерах, например, в Apple Safari.
- Carakan используется в старых версиях Opera.
- Chakra используется в Internet Explorer (язык, который реализует данный движок, называется JScript, чтобы избежать проблем с авторскими правами).
Каждый движок mozilla.org предоставляет публичный API, который могут использовать разработчики приложений для интеграции JavaScript в своё ПО. Однако, наиболее распространенной средой для JavaScript являются веб-браузеры. Веб-браузеры обычно используют публичный API для создания объектов среды, отражающих DOM в JavaScript.
JavaScript также применяется как скриптовый язык на стороне сервера. JavaScript сервер предоставляет объекты среды, представляющие объекты HTTP запросов и ответов, которые могут быть использованы программой на JavaScript для динамической генерации веб-страниц. Популярным примером является Node.js.
Ресурсы по JavaScript
- SpiderMonkey
- SpiderMonkey — это интерпретатор языка JavaScript, написанный на языке C. Информация, относящаяся к реализации движка JavaScript Mozilla на C/C++ (aka SpiderMonkey), включая, как вставлять его в приложения.
- Rhino
- Информация, относящаяся к реализации JavaScript, написанной на Java (aka Rhino).
- Ресурсы по языку
- Ссылки на опубликованные стандарты по JavaScript.
- Повторное введение в JavaScript
- Руководство и справочник по JavaScript.
JavaScript® — торговая марка или зарегистрированная торговая марка Oracle в США и других странах.