Одобрена спецификация ECMAScript 2015

в 3:45, , рубрики: ecmascript 6, javascript

image

Генеральное собрание Ecma International объявило о ратификации стандарта ECMA-262 6 версии, который является спецификацией языка ECMAScript 6 (ES6), который так же называют ECMAScript 2015.

JavaScript был создан Брэндоном Эйком в 1995 всего за 10 дней, но языку потребовалось аж 20 лет для того, чтобы перенять возможности языков программирования, которые популярны на сегодняшний день. JavaScript не был самым лучшим языком программирования, но концепт языка для браузера был многообещающей идеей. На JavaScript начали обращать внимание почти сразу после его создания и отправили на стандартизацию в 1996. Релизы языка:

  • JavaScript 1.0 (1997)
  • JavaScript 2.0 (1998) – с некоторыми изменениями к предыдущей версии
  • JavaScript 3.0 (1999) – с некоторыми новыми возможностями

Потом в течении нескольких лет на JavaScript никто не обращал внимания, до того как появился AJAX – довольно неплохое решение для браузерных приложений. Так как собрание Ecma, сообщество и браузеры долго не могли договориться о будущем пути развития языка, работа над ним продолжилась только в 2008 году; когда комиссия TC39, контролирующее развитие JavaScript пришло к единому мнению и решило для начала сделать небольшой шаг вперед: так, в 2009 году появился ECMAScript 5 (ES5), а позднее и более крупный релиз – ES6, спецификация которого была сегодня одобрена! Смотреть страничку стандарта.

Официальное название последней версии JavaScript – ECMAScript 2015, и собрание Ecma планирует чаще выпускать новые версии. Релиз следующей версии ECMAScript 2016 запланирован уже на следующий год. С этого момента, название версий будет включать в себя год, в который был сделан релиз.

ES6 – огромный шаг вперед после ES5, спецификация новой версии языка состоит из 600 страниц, ее предшественница – всего из 245. В ES6 добавили очень нужные JavaScript-разработчикам штуки, такие как модули и классы; а так же много полезностей, таких как: Maps, Sets, Promises и Generators. Несмотря на то, что это очень крупный релиз, ES6 обладает полной обратной совместимостью. Комиссия решила не ломать интернет из-за несовместимых версий, поэтому весь старый код будет работать, а переход на новый будет довольно гладким. Это означает, что некоторые проблемы ES5, на которые разработчики жаловались годами так же никуда не денутся.

На данный момент, ни один JavaScript клиент не имеет полной поддержки ES6, однако разработчики, которые очень хотят начать писать на ES6 уже сегодня могут компилировать его обратно в ES5. Для того, чтобы полностью имплементировать все возможности стандарта браузерам потребуется некоторое время (возможно более года). Для более полной таблицы поддержки клиентами стандарта мы рекомендуем смотреть сюда.

Уже была начата работа над ECMAScript 2016 и уже были предложены асинхронные функции, типизированные объекты, параллельность, декораторы классов и наблюдатели. Не смотря на то, что возможность введения этих фич активно обсуждается комиссией, мы не можем точно предсказать их будущее. Некоторые фичи могут ввести в следующую спецификацию, некоторые в последующие, а некоторые могут не ввести никогда. Этот документ показывает фазы введения фич в язык.

Развитие JavaScript было очень медленным в начале, но за последнее время невероятно ускорилось. JavaScript никуда не денется, и надеемся, что стандартизационные комиссии и собрания будут вести язык туда, где его хочет видеть сообщество.

В качестве дополнения, советуем почитать Exploring ES6: Book Introduction and Author Interview (по ссылке – статья, с описанием книги), в деталях описывающая все новые возможности JavaScript.

Это быстрый перевод этой статьи, которая уже полдня висит в топе /r/javascript, я только пришел с работы и подумал что нужно сделать перевод для с Хабрасообщества. Это мой первый и еще раз повторю, быстрый перевод, поэтому о любых ошибках пишите личными сообщениями – будем вместе исправлять.

UPD. Кратко о релизе нам уже рассказал monolithedhttp://habrahabr.ru/post/260561/

Автор: berman

Источник

Поделиться новостью

* - обязательные к заполнению поля