ЯВЛЯЕТСЯ ES7 другим названием ECMAScript2016? Как это написать в React?

Кто-нибудь, пожалуйста, помогите мне разобраться в версиях ECMAScript. Мне нужно создать приложение React JS с использованием ES7. Теперь при поиске в Интернете возникает адская путаница. Существует версия ES5, а затем есть EcmaScript2015, который такой же, как ES6 (я полагаю). Значит, ES7 — это другое название ECMAScript2016?
Поискав везде, я нашел только то, что react можно написать в ES5 (createClass) и ES6 (class). Есть ли различия в синтаксисе в ES7?


person shinite    schedule 13.02.2017    source источник
comment
Вы правы, ES2016 — это седьмая редакция EcmaScript. К сожалению, многие люди склонны использовать ES7 для обозначения любой (возможной) функции JavaScript, более новой, чем ES2015. Так что, боюсь, вам придется спросить этого человека, что именно имеется в виду под ES7.   -  person a better oliver    schedule 13.02.2017
comment
Если вы прочтете описание тега ecmascript-7, вы поймете, что изменилось.   -  person Felix Kling    schedule 13.02.2017
comment
Возможный дубликат Какова связь между ES6, ES7 (и выше), ES2015, stage-0, stage-1 (и выше)?   -  person Felix Kling    schedule 13.02.2017


Ответы (1)


ECMAScript 7 — это старое название ECMAScript 2016, согласно истории, написанной доктором Акселем Раушмайером.

Ознакомьтесь с Краткой историей ECMAScript.

  • ECMAScript 1 (июнь 1997 г.)
  • ECMAScript 2 (июнь 1998 г.)
  • ECMAScript 3 (декабрь 1999 г.)
  • ECMAScript 4 (заброшен в июле 2008 г.)
  • ECMAScript 5 (декабрь 2009 г.)
  • ECMAScript 5.1 (июнь 2011 г.)

И самое интересное — история ECMAScript 6 (июнь 2015 г.).

  • ECMAScript Harmony: первоначальное кодовое название улучшений JavaScript после ECMAScript 5.
  • ECMAScript.next: Стало очевидно, что планы Harmony были слишком амбициозными для одной версии, поэтому ее функции были разделены на две группы: Первая группа функций имела наивысший приоритет и должна была стать следующей версией после ES5. Кодовое имя этой версии было ECMAScript.next, чтобы избежать преждевременной фиксации номера версии, что оказалось проблематичным с ES4. У второй группы функций было время до выхода ECMAScript.next.
  • ECMAScript 6: По мере развития ECMAScript.next его кодовое название было убрано, и все стали называть его ECMAScript 6.
  • ECMAScript 2015: В конце 2014 года TC39 решил изменить официальное название ECMAScript 6 на ECMAScript 2015 в свете предстоящих ежегодных выпусков спецификаций. Однако, учитывая, насколько уже устоялось название «ECMAScript 6» и как поздно TC39 изменили свое мнение, я ожидаю, что все будут продолжать называть эту версию именно так.

И грандиозный финал

ECMAScript 2016 ранее назывался ECMAScript 7. Начиная с ES2016, языковой стандарт будет выпускаться ежегодно меньшего размера.

person Krzysztof Safjanowski    schedule 13.02.2017
comment
Конечно, но проблема в том, что многие люди (неправильно) имеют в виду что-то другое, когда говорят ES7. Для них каждая функция, которая не является ES2015, является ES7. Даже если эта функция еще не является частью какого-либо стандарта. Еще хуже: некоторые люди называют некоторые будущие функции ES6. - person a better oliver; 13.02.2017
comment
Спасибо, это было красивое объяснение. Итак, если мне нужно написать приложение React с использованием ES7, это просто означает, что я могу использовать более позднюю версию с синтаксисом ES6, верно? - person shinite; 13.02.2017
comment
@ShambhaviShah Я так думаю. Зависит от того, как считать developer.mozilla.org/ en-US/docs/Web/JavaScript/Reference/ — Это ES2017? - person Krzysztof Safjanowski; 13.02.2017