Ответ 1
somemethod(item => ({ id: item.id }))
Тест:
> a = item => ({id: item.id})
< function item => ({id: item.id})
> a({ id: 5, name: 7 });
< Object {id: 5}
Я хочу вывести объект из функции стрелки (в краткой форме), поэтому полный код:
somemethod(function(item) {
return {id: item.id};
})
со стрелочными функциями:
somemethod((item) => {
return {id: item.id};
})
и теперь короткая форма должна выглядеть примерно так:
somemethod(item = > {id: item.id} )
который не работает, а также этот:
somemethod(item = > {{id: item.id}} )
только одно решение, которое я нашел сейчас, - это использовать запись объекта Object:
somemethod(item = > new Object({id: item.id}) )
есть ли другой способ?
somemethod(item => ({ id: item.id }))
Тест:
> a = item => ({id: item.id})
< function item => ({id: item.id})
> a({ id: 5, name: 7 });
< Object {id: 5}
Для объектов вы обертываете свой объект в круглых скобках, иначе он не работает.
Это связано с тем, что код внутри фигурных скобок ({}) анализируется как последовательность операторов
Попробуйте как ниже
var func = () => ({ foo: 1 });