箭头函数体与返回值。()=>{return value;} vs. ()=>value;

Osc*_*Ryz 3 javascript ecmascript-6 arrow-functions

在箭头函数中返回值与添加正文并键入 return 之间有什么区别吗?

据我所知,它们是一样的。

这是一个会话:

let a = () => 1;
a()
1
let b = () => { return 1; }
b()
1
a
() => 1
b
() => { return 1; }
Run Code Online (Sandbox Code Playgroud)

当这些不同时有什么情况吗?

Jon*_*nah 5

一个区别是使用隐式返回语法返回对象文字需要将对象文字括在括号中。

var foo = () => { bar: "foobar" }; //This function returns undefined
var foo = () => { return { bar: "foobar" }; }; //This function returns an object
var foo = () => ({ bar: "foobar" }); //This function returns object
Run Code Online (Sandbox Code Playgroud)

据我所知,这是唯一的区别。