Я здесь новый.ECMAscript 6 код не работает
Я читаю книгу под названием «Обучение Javascript, третье издание» и один из упражнений был запущен этот код:
"use strict";
let sentences = [
{ subject: 'JavaScript', verb: 'is', object: 'great' },
{ subject: 'Elephants', verb: 'are', object: 'large' },
];
function say({subject, verb, object}) {
console.log(`${subject} ${verb} ${object}`);
}
for(let s of sentences) {
say(s);
}
Но появляется эта ошибка.
SyntaxError : Unexpected token {
что не так с кодом?
Я использую node.js, gulp.js и babel для транспиляции для кода es5.
PS: Извините за мой плохой английский, я все еще учусь, и я стараюсь не использовать Google Tranlate
Если я не ошибаюсь, 'function say ({subject, verb, object})' является проблемой. Вы не ставите аргументы '{}' вокруг аргументов функции. Это должно быть 'function say (subject, verb, object)'. – Mjh
@Mjh Это разрушает. Проблема в том, что транспилер не справляется с этим повсюду. ОП, проблема в том, КАК вы переводите. Какой пресет вы используете? –
Если это разрушение не должно {{subject, verb, object} 'быть' {subject: subject, verb: verb, object: object} '? На основе приведенных здесь примеров https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment, я никогда не использовал его сам. –