Подтвердить что ты не робот

Функция синтаксической ошибки "выражение ожидаемого"

Я хочу преобразовать этот код:

var formatQuoteAmount = function (tx) {
    return Currency.toSmallestSubunit(tx.usd, 'USD');
};
var quoteAmounts = res.transactions.map(formatQuoteAmount);

в функцию анонимной стрелки. Я написал это:

var quoteAmounts = res.transactions.map(tx => Currency.toSmallestSubunit(tx.usd, 'USD'));

Я получаю синтаксическую ошибку expression expected по стрелке. Я посмотрел синтаксис по умолчанию здесь и кажется, что синтаксис моего кода верен. Любые идеи, что может быть проблемой?

Я работаю с этим синтаксисом:

    var quoteAmounts = res.transactions.map(function (tx) {
        return Currency.toSmallestSubunit(tx.usd, 'USD')
    });

но я хочу сделать его одним лайнером со стрелкой.

Работает на node v5.3.0

4b9b3361

Ответ 1

У меня была ошибка expression expected, сообщенная Webstorm при редактировании программы Node.js. В этом случае решение должно установить версию языка для версии, которая поддерживает эту функцию.

введите описание изображения здесь

Ответ 2

Следующее - это то, что я сделал для меня. (1) Я меняю вариант языка JavaScript на ECMAScript 6 как показано в выбранном ответе @Joe23

(2) Я закрываю проект/приложение Webstorm.

(3) Перейдите в папку проекта и удалите в ней папку .idea. Я считаю, что это папка webstorm, сгенерированная для хранения информации о проекте/приложении.

(4) Я снова открываю свой проект в webstorm и ошибки уходят.

Ответ 3

Ваш синтаксис верен, и Nodejs поддерживает функции стрелок, но по умолчанию он не включен.

Вы должны добавить флаг "--harmony", когда вы запустите процесс node, чтобы включить его.