ECMAScript 2015 (ES6) и более поздние версии

Node.js построен на основе современных версий V8 . Постоянно следя за последними выпусками этого движка, мы гарантируем своевременное предоставление разработчикам Node.js новых функций из спецификации JavaScript ECMA-262 , а также постоянное улучшение производительности и стабильности.
Все функции ECMAScript 2015 (ES6) разделены на три группы: поставляемые , промежуточные и находящиеся в стадии разработки функции:
Все функции доставки , которые V8 считает стабильными, включены в Node.js по умолчанию и не требуют каких-либо флагов времени выполнения.
Поэтапные функции, которые представляют собой почти завершённые функции, которые команда V8 не считает стабильными, требуют флага времени выполнения: --harmony.
Функции , находящиеся в стадии разработки, можно активировать индивидуально с помощью соответствующего флага гармонии, хотя это крайне не рекомендуется, за исключением случаев тестирования. Примечание. Эти флаги доступны в V8 и потенциально могут быть изменены без какого-либо уведомления об устаревании.

Какие функции поставляются с той или иной версией Node.js по умолчанию?

Веб-сайт node.green предоставляет отличный обзор поддерживаемых функций ECMAScript в различных версиях Node.js на основе таблицы совместимости kangax.

Какие функции находятся в разработке?

К движку V8 постоянно добавляются новые функции. Вообще говоря, ожидайте, что они появятся в будущем выпуске Node.js, хотя сроки неизвестны.
Вы можете перечислить все текущие функции, доступные в каждой версии Node.js, просматривая аргументы --v8-options. Обратите внимание, что это неполные и, возможно, неработающие функции V8, поэтому используйте их на свой страх и риск:

node --v8-options | grep "in progress"

Моя инфраструктура настроена для использования флага --harmony. Должен ли я удалить его?

Текущее поведение флага --harmony в Node.js заключается в включении только поэтапных функций. Ведь теперь это синоним --es_staging. Как упоминалось выше, это завершенные функции, которые еще не считаются стабильными. Если вы хотите действовать безопасно, особенно в производственных средах, рассмотрите возможность удаления этого флага времени выполнения до тех пор, пока он не будет включен по умолчанию в V8 и, следовательно, в Node.js. Если вы оставите эту опцию включенной, вы должны быть готовы к дальнейшим обновлениям Node.js, которые могут сломать ваш код, если V8 изменит свою семантику, чтобы более точно соответствовать стандарту.

Как узнать, какая версия V8 поставляется с конкретной версией Node.js?

Node.js предоставляет простой способ составить список всех зависимостей и соответствующих версий, которые поставляются с определённым двоичным файлом через process глобальный объект. В случае движка V8 введите в терминале следующую команду, чтобы получить его версию:

node -p process.versions.v8

Обсуждение закрыто.