矢印関数からオブジェクトを返す場合、文法の曖昧さのため、追加の のセット{}
とキーワードを使用する必要があるようです。return
つまり、私は書けないp => {foo: "bar"}
けど、書かなければならないということですp => { return {foo: "bar"}; }
。
矢印関数がオブジェクト以外のものを返す場合、 および{}
はreturn
不要です。例: p => "foo"
。
p => {foo: "bar"}
戻り値undefined
。
変更すると、「: 予期しないトークン: ' '」p => {"foo": "bar"}
がスローされます。SyntaxError
:
私が見逃している明らかな何かがあるでしょうか?
ベストアンサー1
返されるオブジェクト リテラルを括弧で囲む必要があります。そうしないと、中括弧が関数の本体を示すものと見なされます。次のコードが機能します。
p => ({ foo: 'bar' })
他の式を括弧で囲む必要はありません。
p => 10
p => 'foo'
p => true
p => [1,2,3]
p => null
p => /^foo$/
等々。