箭头函数返回对象
发布于 4 年前 作者 waksana 6864 次浏览 来自 问答

当箭头函数里面只有一条语句的时候可以把函数的中括号去掉然后返回值就是这条语句的返回值,比如说

a => a + 1

那么问题来了,如果我返回一个对象字面量就会出问题

a => {a: a + 1}

不得不这么写

a => { return {a: a + 1}; }

这是不是很蛋疼。。

5 回复
a=>{a:1}

没有错误,说明 a:1 是「合法」语句,a:1 视为合法的意义是什么?

var x = a => {a: 1}
相当于
var x = function (a) {
	a: 1
}

var x = var x = a => ({a: 1})
相当于
var x = function (a) {
	return {a: 1}
}

大括号被解释为代码块

@houfeng a: 1是js里的标签语句 labelName: statement

@SinalVee @houfeng

果然是 LabelledStatement…

在 ES2015 的 13.13 小节.

回到顶部