Ответ 1
Примечание. Этот вопрос был явно о ES2016 (ES7). См. Обновления для ES2017 (ES8).
ES7 имеет только две основные функции:
-
Array.prototype.includes
-
**
(оператор возведения в степень)
См. В Mozilla Development Network для получения дополнительной информации:
- Web/JavaScript/Справка /Global_Objects/Array/включает
- Web/JavaScript/Справочник/Операторы/Arithmetic_Operators # Возведение _ (**)
Согласно node.green, они доступны в узле, соответственно:
- 5.0 с флагом гармонии и 6.0 без флага (Array.prototype.includes)
- 6.5 с флагом гармонии и 7.0 без флага (возведение в степень)
Увидеть:
- http://node.green/#ES2016-features-Array-prototype-includes
- http://node.green/#ES2016-features-exponentiation------operator
Экспоненциация - это последняя функция ES7, которая была добавлена в Node, поэтому, если вы хотите использовать все функции ES7 без флагов, вам понадобится хотя бы Node 7.0. Если вы можете использовать флаг --harmony
вы можете использовать хотя бы Node 6.5.
Версия 6.x - LTS (долгосрочная поддержка), поэтому вы можете предпочесть ее более 7.x, но для использования функций ES7 вам понадобится флаг.
На момент написания этой статьи текущие версии узла:
- v6.10.3 LTS (рекомендуется для большинства пользователей)
- v7.10.0 Текущий (последние функции)
V8.0 LTS будет выпущен в ближайшее время - в настоящее время вы можете использовать ночные сборки Node 8.0.
Для получения дополнительной информации о расписании выпуска см.:
Для других версий для загрузки - см.:
Обновление для ES2017
Отвечая на вопрос из комментариев, async/await является особенностью ES2017 (ES8), а не ES2016 (ES7), поскольку этот вопрос был о. Увидеть:
- Спецификация: Последний проект ECMAScript (ECMA-262) Определение "async function" в этой спецификации.
- Статус: Черновик
- Комментарий: Исходное определение в ES2017.
async/ожидание в узле
Вы можете использовать async/wait в:
- Узел 7.0 с флагом
--harmony
- Узел 7.6 без флага
Для получения дополнительной информации см.:
В местах, где у вас нет встроенной поддержки async
и await
вы можете использовать Babel:
или со слегка отличающимся синтаксисом, основанный на генераторе подход, например, в co
или Bluebird coroutines:
См. Эти ответы для получения дополнительной информации:
- try/catch блоки с async/wait
- node.js ~ построение последовательности цепочек Promise разрешает
- Как выполнять функции генератора в параллельном режиме?
- node.js ~ построение последовательности цепочек Promise разрешает
- Использование async/wait + Bluebird для promisifyAll
- jQuery: возвращает данные после успеха ajax-звонка
Они включают больше информации о совместимости и возможных обходных решениях.