Функции Arrow не работают в node --harmony под Ubuntu

Я пытаюсь использовать функции стрелок в node v0.10.33 под Ubuntu 14.04 (я запускаю node с флагом --harmony), но я получаю эту ошибку:

console.log( [1,2,3,4].map(x => x*x) );
                          ^
SyntaxError: Unexpected token >
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

Ответы

Ответ 1

Теперь это должно работать в node v0.12.x с флагом --harmony. Также обратите внимание, что вы можете получить функции стрелок в node с помощью пакета babel.

http://babeljs.io/docs/using-babel/

UPDATE:

Как правильно указано Mike 'Pomax' Kamermans, флаг --harmony не требуется при использовании Node.js >= 4.x. Для получения дополнительной информации о статусе поддержки ES6 в Node.js см. https://nodejs.org/en/docs/es6/.

Ответ 2

Node, даже с флагом гармонии, еще не поддерживает жирную стрелку. Источник.

Редактировать: забавный небольшой факт, поддержка ES6 является одной из причин, по которой w631 был раздвоен в io.js. Проверьте их страницу на функциях ES6 - они предоставляют флаг для функций стрелок, но не рекомендуют использовать его.