let res = (r1,r2) => r1 + r2;
let res2 = (r1,r2) => {r1 + r2}
let res3 = (r1,r2) => {reurn (r1 + r2)}
let r1 = res(1,2);
let r2 = res2(1,2);
let r3 = res3(1,2);
打印出来发现 r1,r3 正确的,r2为 undefined,
箭头函数后面不加大括号,默认只能有一行代码,默认return;
箭头函数后面加大括号,默认没有return;
如果直接返回一个对象
let res4 = () => {key: value} //undefined
let res5 = () => ({key: value}) //{key: value}
注:请注意,当箭头函数中表达式部分为语句块的时候,箭头函数并不会自动地返回一个值,需要手动加上return 语句。
当使用箭头函数来创建一个对象的时候的时候,要用括号将对象括起来:
很不幸,空对象和空的语句块{}看起来是一样的。ES6规定,紧跟箭头函数中箭头符号后面的{ 会被解析成语句块的开始, 而不是一个空对象。
详细介绍可以参考[http://zanderzhan.com/Arrow-Function/]