ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ

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 Массив Const JS Даты JS Форматы дат JS Методы получения дат JS Методы установки дат JS Математические JS Рандомные JS Булевы JS Сравнения JS Условия JS Switch JS Цикл For JS Цикл For In JS Цикл For Of JS Цикл While JS Break и Continue JS Итерации JS Наборы JS Карты JS Typeof JS Преобразование типов JS Побитовые JS Регулярные выражения JS Ошибки JS Область действия JS Хостинг JS Use Strict 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 Асинхронный

Обратные вызовы Асинхронный Промисы Async/Await

JS HTML DOM

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

JS Браузер BOM

JS Окно JS Скрин JS Локация JS История JS Навигатор JS Всплывающее оповещение JS Тайминг JS Куки

JS Веб API

Веб 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 Stringify JSON Объекты JSON Массивы JSON Сервер JSON PHP JSON HTML JSON JSONP

JS и jQuery

jQuery Селекторы jQuery HTML jQuery CSS jQuery DOM

JS Примеры

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

JS Справочники

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

JavaScript. W3Schools на русском. Уроки для начинающих

JavaScript Версии

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

ECMAScript - официальное название языка.

Версии ECMAScript сокращены до ES1, ES2, ES3, ES5 и ES6.

С 2016 года новые версии именуются по годам (ECMAScript 2016/2017/2018).

Редакции ECMAScript

Позволяет использовать конечные запятые для параметров функции
Версия Официальное название Описание
ES1 ECMAScript 1 (1997)Первое издание
ES2 ECMAScript 2 (1998)Редакционные изменения
ES3 ECMAScript 3 (1999)Добавлены регулярные выражения
Добавлен try/catch
Добавлен switch
Добавлен do-while
ES4 ECMAScript 4Никогда не выпускался
ES5 ECMAScript 5 (2009)

Подробнее о ECMAScript 5 (2009)
Добавлен "strict mode"
Добавлена поддержка JSON
Добавлен String.trim()
Добавлен Array.isArray()
Добавлены методы итерации массива
Позволяет использовать конечные запятые для объектных литералов
ES6 ECMAScript 2015

Подробнее о ECMAScript 2015
Добавлены let и const
Добавлены значения параметров по умолчанию
Добавлен Array.find()
Добавлен Array.findIndex()
ECMAScript 2016

Подробнее о ECMAScript 2016
Добавлен экспоненциальный оператор (**)
Добавлен Array.includes()
ECMAScript 2017

Подробнее о ECMAScript 2017
Добавлен строковый отступ
Добавлен Object.entries()
Добавлен Object.values()
Добавлены асинхронные функции
Добавлена общая память
ECMAScript 2018

Подробнее о ECMAScript 2018
Добавлены свойства rest / spread
Добавлена асинхронная итерация
Добавлен Promise.finally()
Дополнения к RegExp

В этом учебнике рассматриваются все версии JavaScript:

  • Оригинальный JavaScript ES1 ES2 ES3 (1997–1999)
  • Первая основная редакция ES5 (2009 г.)
  • Вторая редакция ES6 (2015 г.)
  • Ежегодные дополнения (2016, 2017, 2018)

Поддержка браузерами

ECMAScript 1-6 полностью поддерживается во всех современных браузерах.


Браузерная поддержка для ES5 (2009 г.)

Браузер Версия Дата
Chrome23Nov 2012
Firefox21May 2013
IE9*Mar 2011
IE / Edge10Sep 2012
Safari6Jul 2012
Opera15Jul 2013

* Internet Explorer 9 не поддерживает ECMAScript 5 "use strict".


Браузерная поддержка ES6 (2015)

Браузер Версия Дата
Chrome51May 2016
Firefox52Mar 2017
Edge14Aug 2016
Safari10Sep 2016
Opera38Jun 2016

Internet Explorer не поддерживает ECMAScript 2015.


Браузерная поддержка для ECMAScript 2016

Браузер Версия Дата
Chrome52Jul 2016
Firefox54Jun 2017
Edge14Aug 2016
Safari10.1Mar 2017
Opera39Aug 2016