当从箭头函数返回一个对象时,似乎有必要使用一组额外的{}
and a return
关键字,因为语法中存在歧义。
这意味着我不能写p => {foo: "bar"}
,但必须写p => { return {foo: "bar"}; }
.
如果箭头函数返回对象以外的任何内容,{}
and return
是不必要的,例如:p => "foo"
.
p => {foo: "bar"}
回报undefined
.
一个修改过的p => {"foo": "bar"}
throws “SyntaxError
: 意外的标记: ':
'”.
我是否缺少一些明显的东西?
您必须将返回的对象文字括在括号中。否则,大括号将被视为表示函数体。以下作品:
p => ({ foo: 'bar' })
您不需要将任何其他表达式括在括号中:
p => 10
p => 'foo'
p => true
p => [1,2,3]
p => null
p => /^foo$/
等等。
参考:MDN - 返回对象文字 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions#Returning_object_literals
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)