今天看到这行代码,有点蒙蔽
key => ({ key, val: key })
首先可以明确这是箭头函数
可是箭头函数不是下面这样的吗,右边怎么是个圆括号?
(params) => { statements }
我们就去查阅资料。
发现了箭头函数的简写方式。
简写1
参数列表只有单个参数时,左边括号()可以省去
如下
(singleParam) => { statements }
// 等价于
singleParam => { statements }
简写2
函数体是返回一个表达式的值时,右边大括号 {} 可以省去
如下
(param1, param2) => {
return param1 + param2;
}
// 等价于
(param1, param2)=> param1 + param2
求x的平方
(x)=> { return x*x;}
// 简写1
x => {return x*x;}
// 简写2
(x) => x*x
// 简写1,简写2
x => x*x
如果返回一个对象,该如何简写呢?
(x) => { return {'name':x}; }
// 如果参考简写2,就是下面这行代码,但这样写,是错误的
(x) => {'name':x}
// 正确的写法;加括号的函数体返回对象字面量表达式:
(x) => ({'name':x})
不建议大家在写代码的时候使用简写,统一写代码规范,使代码更易阅读,也是程序员的工作之一