gpt4 book ai didi

javascript - 这个箭头函数可以缩短吗?这些是一样的吗?

转载 作者:行者123 更新时间:2023-11-30 08:26:29 24 4
gpt4 key购买 nike

如果我从这个开始:

const obj1 = {
doSomething: () => {
console.log('hello world 1');
},
};

可以安全地缩短它吗?这些是一样的吗?

const obj2 = {
doSomething: () => console.log('hello world 2'),
};

为什么这个这么奇怪?

const obj3 = {
doSomething: console.log('hello world 3'),
};

我注意到 obj3 会自行运行并且无法执行 obj3.doSomething()

https://repl.it/JEGD/1

最佳答案

1 和 2 几乎相同。

当您在箭头的 RHS 上提供语句(而不是 block )时,该函数返回对该语句求值的结果。

在第一个例子中,函数返回undefined,因为没有return语句。

在第二个示例中,函数返回 undefined,因为 console.log 返回 undefined

这里没有实际差异,但在类似情况下可能存在差异。


至于第三个例子……

在情况 1 中,您使用函数表达式创建了一个函数。

在情况 2 中,您创建了一个带有箭头函数的函数。

在情况 3 中,您根本没有创建函数。

立即调用console.log并将其返回值(正如我上面提到的,未定义)分配给做点什么.

关于javascript - 这个箭头函数可以缩短吗?这些是一样的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44784333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com