2016-01-09 2 views
4

Вот код в вопросе:ошибка синтаксиса «Неожиданный маркер» в объекте, возвращаемая функция стрелки

const data = 
    results.responses.map((response, idx) => 
    { id: idx+1, 
     name: response.name, 
     email: response.email, 
     comment: response.comment 
    } 
) 

Я использую столпотворение, чтобы перевести код ES6 на JavaScript. Это сообщение об ошибке:

Module build failed: SyntaxError: /Users/antkong/dev/project/form.js: Unexpected token (60:14) 
    58 |  results.responses.map((response, idx) => 
    59 |   { id: idx+1, 
> 60 |   name: response.name, 
    |    ^
    61 |   email: response.email, 
    62 |   comment: response.comment 
    63 |   } 

Почему существует синтаксическая ошибка?

ответ

7

В вашем примере JavaScript обрабатывает { и } как block statement вместо объекта буквально. Оберните свой объект в скобки (( и )), и он будет работать.

Исправленный код:

const data = 
    results.responses.map((response, idx) => 
    ({ id: idx+1, 
     name: response.name, 
     email: response.email, 
     comment: response.comment 
    }) 
) 
Смежные вопросы