САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

JS Учебник

JS Главная JS Введение JS Где установить? JS Вывод JS Заявления JS Синтаксис JS Комментарии JS Переменные JS Let JS Const JS Операторы JS Арифметика JS Присваивание JS Типы данных JS Функции JS Объекты JS События JS Строки JS Методы строк JS Поиск строк JS Шаблоны строк JS Числа JS Методы чисел JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Постоянный массив JS Даты JS Формат дат JS Методы получения дат JS Методы набора дат JS Объекты Math JS Случайные числа JS Булевы JS Сравнения JS Оператор If...Else JS Оператор Switch JS Цикл For JS Цикл For In JS Цикл For Of JS Цикл While JS Оператор Break JS Повторяющиеся JS Наборы JS Карты JS Typeof JS Преобразование JS Битовые JS Выражения JS Ошибки JS Область JS Подъемный JS Строгий JS Ключевое слово this JS Стрелки JS Классы JS JSON JS Отладчик JS Стиль JS Практика JS Ошибки JS Эффективность JS Слова

JS Версии

JS Версии JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE/Edge JS История

JS Объекты

Определение объекта Свойства объекта Методы объекта Отображение объекта Доступ объекта Конструкторы объекта Прототипы объекта Повторяющиеся объекты Набор объектов Карты объекта Справочник объектов

JS Функции

Определение функций Параметры функции Обращение к функции Вызов функции Применение функции Закрытие функции

JS Классы

Введение класса Наследование класса Статистический класс

JS Асинхронный

JS Обратный вызов JS Асинхронный JS Обещания JS Асинхронный

JS HTML DOM

DOM Введение DOM Методы DOM Документы DOM Элементы DOM HTML DOM Формы DOM CSS DOM Анимация DOM События DOM Прослушиватель DOM Навигация DOM Узлы DOM Коллекция DOM Список узлов

JS Браузер BOM

JS Window JS Экран JS Расположение JS История JS Навигатор JS Предупреждение JS Синхронизация JS Куки

JS Веб APIы

Веб API Введение Веб API История Веб API Хранилище Веб API Работник Веб API Извлечь Веб API Геолокации

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос на сервер AJAX Ответ с сервера AJAX Файл XML AJAX Файл PHP AJAX Файл ASP AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON или XML JSON Типы данных JSON Парсинг JSON Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS или jQuery

jQuery Селекторы jQuery Элементы jQuery CSS jQuery DOM

JS Примеры

JS Примеры JS HTML DOM JS HTML Ввод JS HTML Объекты JS HTML События JS Браузер JS Редактор JS Упражнения JS Викторина JS Сертификат

JS Справочник

JavaScript Объекты HTML DOM Объекты


JavaScript История


JavaScript / ECMAScript

JavaScript был изобретен Бренданом Эйхом в 1995 году.

Он был разработан для Netscape 2 и стал стандартом ECMA-262 в 1997 году.

После того, как Netscape передал JavaScript в ECMA, фонд Mozilla продолжил разработку JavaScript для браузера Firefox. Последняя версия Mozilla была 1.8.5. (идентична ES5).

Internet Explorer (IE4) был первым браузером, поддерживающим ECMA-262 Edition 1 (ES1).

Год ECMAБраузер
1995   JavaScript был изобретен Бренданом Эйхом
1996   Netscape 2 был выпущен с JavaScript 1.0
1997   JavaScript стал стандартом ECMA (ECMA-262)
1997 ES1 ECMAScript 1 был выпущен
1997 ES1 IE 4 был первым браузером, поддерживающим ES1
1998 ES2 ECMAScript 2 был выпущен
1998   Netscape 42 был выпущен с JavaScript 1.3
1999 ES2 IE 5 был первым браузером, поддерживающим ES2
1999 ES3 ECMAScript 3 был выпущен
2000 ES3 IE 5.5 был первым браузером, поддерживающим ES3
2000   Netscape 62 был выпущен с JavaScript 1.5
2000   Firefox 1 был выпущен с JavaScript 1.5
2008 ES4 ECMAScript 4 был заброшен
2009 ES5 ECMAScript 5 был выпущен
2011 ES5 IE 9 был первым браузером, поддерживающим ES5 *
2011 ES5 Firefox 4 был выпущен с JavaScript 1.8.5
2012 ES5 Полная поддержка ES5 в Safari 6
2012 ES5 Полная поддержка ES5 в IE 10
2012 ES5 Полная поддержка ES5 в Chrome 23
2013 ES5 Полная поддержка ES5 в Firefox 21
2013 ES5 Полная поддержка ES5 в Opera 15
2014 ES5 Полная поддержка ES5 в all browsers
2015 ES6 ECMAScript 6 was released
2016 ES6 Полная поддержка ES6 в Chrome 51
2016 ES6 Полная поддержка ES6 в Opera 38
2016 ES6 Полная поддержка ES6 в Edge 14
2016 ES6 Полная поддержка ES6 в Safari 10
2015 ES6 Полная поддержка ES6 в Firefox 52
2018 ES6 Полная поддержка ES6 во всех браузерах **

Примечание

* Internet Explorer 9 не поддерживал ES5 "использовать строго".

** Internet Explorer 11 не поддерживает ES6.


Технический комитет ECMA 39

В 1996 году Netscape и Брендан Эйх передали JavaScript в международную организацию стандартов ECMA, и для разработки языка был создан технический комитет (TC39).

ECMA-262 Edition 1 было выпущено в июне 1997 года.


От ES4 до ES6

Когда комитет TC39 собрался в Осло в 2008 году, чтобы согласовать ECMAScript 4, они разделились на 2 совершенно разных лагеря:

ECMAScript 3.1 Camp:

Microsoft и Yahoo, которые хотели получить постепенное обновление с ES3.

ECMAScript 4 Camp:

Adobe, Mozilla, Opera и Google, которые хотели масштабного обновления ES4.

13 августа 2008 года Брендан Эйх написал email:

Ни для кого не секрет, что орган по стандартизации JavaScript, Технический комитет 39 Ecma, уже более года разделен, причем некоторые члены выступают за ES4, крупное четвертое издание ECMA-262, а другие выступают за ES3.1 на основе существующей спецификации ECMA-262 Edition 3 (ES3). Теперь, я рад сообщить, что раскол закончился.

Решение состояло в том, чтобы работать вместе:

  • ECMAScript 4 был переименован в ES5
  • ES5 должен быть постепенным обновлением ECMAScript 3.
  • Функции ECMAScript 4 должны быть расширены в более поздних версиях.
  • TC39 должен разработать новый основной выпуск, больший по объему, чем ES5.

Запланированный новый релиз (S6) получил кодовое название "Гармония" (из-за раскола, который он создал?).

ES5 имел огромный успех. Он был выпущен в 2009 году, и все основные браузеры (включая Internet Explorer) были полностью совместимы к июлю 2013 года:

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
Nov 2012 Sep 2012 May 2013 Jul 2012 Jul 2013

ES6, также имел огромный успех. Он был выпущен в 2015 году, и все основные браузеры были полностью совместимы к марту 2017 года:

Chrome 51 Edge 14 Firefox 52 Safari 10 Opera 38
May 2016 Aug 2016 Mar 2017 Sep 2016 Jun 2016