Node.js поддержка => (функция стрелки)
Является ли Node.js поддержкой = > псевдоним ключевого слова функции? Если да, то начиная с какой версии? Как включить расширение этого языка?
(function() { console.log('it works!') })()
становится
(() => { console.log('it works!') })()
Ответы
Ответ 1
Вы можете следить за этой проблемой: https://code.google.com/p/v8/issues/detail?id=2700
В настоящее время (как 02.05.2014) функции стрелок реализованы и ждут, пока эта функция не будет выгружена в v8: https://codereview.chromium.org/160073006/
После этого нам нужно будет подождать, пока версия v8 со стрелкой не будет интегрирована в Node.JS. Вы можете выбрать Node.JS: https://github.com/joyent/node/blob/master/ChangeLog (поиск "v8: upgrade to...." )
Ответ 2
Короче: да, функции стрелок достаточно хорошо поддерживаются в Node.js начиная с версии 4.4.5.
Полностью правильная поддержка начинается с версии 6. Первоначальная поддержка была введена до версии 10.12, но была очень неполной и была отключена по умолчанию до версии 4.0, когда она стала лучше. См. Таблицу совместимости с Node ES6: http://node.green/#ES2015-functions-arrow-functions.
Ответ 3
Синтаксис, на который вы ссылаетесь, это " функция со стрелкой". Это особенность ECMAScript 6, также известная как "Гармония". стандарт ES6 теперь финализирован, но двигатели все еще реализуют свои новые функции.
У V8 теперь есть функция поддержки стрелок. Node работает на двигателе V8, но для Node может потребоваться некоторое время, чтобы включить последнюю версию в свою базу кода.
Всякий раз, когда он добавляется, возможно, это возможно только через --harmony
флаг командной строки.
Ответ 4
Таблицы совместимости kangax могут держать вас в курсе того, что в настоящее время доступно в Node.
Экспериментальные функции могут быть включены с помощью инструкций на этой странице:
Все функции доставки включены по умолчанию на Node.js
Для поэтапного объекта требуется флаг времени выполнения: --es_staging
(или его синоним, --harmony
)
В процессе работы функции могут быть активированы индивидуально их соответствующим флагом гармонии (например, --harmony_destructuring
), но это крайне не рекомендуется