从 ES6 箭头函数返回值的两种不同方法 - 为什么它们不同?这是怎么回事?



这个问题有点傻,但我最近一直在使用很多JS,发现自己以两种不同的方式从箭头函数中提取值。

一个是这样的:

let random_value = /* whatever */
// One way to test the value and save the result
let value = (myValue => {
if(random_value > 50) {
myValue("Bigger than 50");
} else {
myValue("Smaller than 50");
}
});
// Another way to test the value and save the result
let value_2 = (() => {
if(random_value > 50) {
return "Bigger than 50"
} else {
return "Smaller than 50"
}
})();

谁能解释一下这里的细微差别?这些方法中的一个是"属性"吗?怎么做呢?我只是想弄清楚发生了什么事。为什么两者都有效?

谢谢所有。

可以显式或隐式地从箭头函数返回值。

如果你的代码只包含一行,你可以返回隐式返回值

const fn = arg => arg

当你的代码包含多行时,你返回显式的返回值

const fn = arg => {
Do something
return arg
}

希望对你有帮助

最新更新