When returning an object from an arrow function, it seems that it is necessary to use an extra set of {} and a return keyword because of an ambiguity in the grammar.
That means I can’t write p => {foo: "bar"}, but have to write p => { return {foo: "bar"}; }.
If the arrow function returns anything other than an object, the {} and return are unnecessary, e.g.: p => "foo".
p => {foo: "bar"} returns undefined.
A modified p => {"foo": "bar"} throws “SyntaxError: unexpected token: ':'”.
Is there something obvious I am missing?

您可以随时查看更多定制解决方案: