Краткая история JS #
1995 г. Начало. #
Компания Netscape решила, что для оживления веб страниц требуется браузерный скриптовый язык.
Задача по разработке поручается Брендану Эйху — и легендарный Эйх, за 10 дней выкатывает 1-й прототип.
В процессе написания Брендан пьет много мокко (mocha) и в честь этого язык называют MochaScript Впоследствии переименовывают в LiveScript а потом, чтобы хайпануть на популярном в то времени Java переименовывают в JavaScript

1996 г. Начало войны браузеров. #
Выпуск JavaScript 1.0 в выпускается браузере Netscape Navigator 2.0.
Microsoft же в ответ выкатывает JScript для Internet Explorer 3.0
Языки хоть и похожи между собой но имеют ряд различий. (Например JScript умеет работать с эксель таблицами не выходя из браузера)
Начинается «война браузеров». Разные реализации языка создают хаос и проблемы с совместимостью.
1997 г. ES1 #
Люди пытаются остановить хаос и JavaScript стандартизируют ассоциацией ECMA (European Computer Manufacturers Association)
Новый язык получает название ECMAScript (ES1) но все по привычке называют его JavaScript
1998 г. ES2 #
Выкатывается ES2 приведенный в соответствии со стандартами ISO
1999 г. ES3 #
Выпускается ES3. В нем добавляются регулярки, обработка исключений (try/catch), и т.д.
Эта версия языка остается важной на протяжениии десятилетия.
2000-2005 #
Разногласия в комитете не позволили работать над ES4. Начались невероятные кроссбраузерные проблемы. Браузеры (особенно Internet Explorer, Mozilla, Opera, Safari) по-разному реализовывают JavaScript и DOM API. Разработчики вынуждены писать костыли и изобретать велосипеды, чтобы обойти все это.
2006 jQuery #
Джон Резиг создает библиотеку которая бы упрощает рутинные задачи, избавляет от кросс-браузерных различия и позволяет писать меньше кода. «Write less, do more»
Называет он ее JSelect, однако домен с этим именем занят, тогда Резинг переименовывает продукт в jQuery… потом выяснится, что это имя тоже уже есть у Java бибиотеки для работы с SQL
Ключевые моменты в jQuery #
простой API для работы с DOM
Функция $() позволяла делать сложные выборки элементов с помощью CSS-селекторов (например, $(’.class div’)), что было революционным.
Методы вроде .hide(), .show(), .addClass() делали манипуляцию элементами невероятно простой
кроссбраузерность
Обработка событий и анимации везде происходили одинаково и можно было не изобретать велосипед.
цепочка вызовов
$('div').hide().addClass('blue')
плагины
Архитектура позволяла легко расширять библиотеку, благодаря этому появились тысячи плагинов для слайдеров, анимаций, валидаций и т.д.
2009 г. ES5 #
После долгого перерыва выходит новая версия ECMAScript. За основу берется версия 3.1. Среди важных обновлений: режим strict, геттеры и сеттеры, а также поддержка JSON
Райан Даль выступает на JSConf 2009 и представляет Node.js — среду выполнения для JavaScript на основе JavaScript-движка V8 JavaScript “вырывается из браузера”
2010 г. NPM и Angular #
Релиз фреймворка AngularJS. И как следствие начало эпохи фреймворков, изменивших подход к разработке веб-приложений
2012 г. #
Появление webpack и TypeScript
2015 г. ES6 (ES2015) #
Самое большое обновление за историю языка! Появились: классы, модули, стрелочные функции, let/const, промисы, шаблонные строки.
2016 - … #
ежегодное обновление ES*, развитие и доминирование фрейморков ( Angular, React, Vue)