1
kkll7766 2022-11-20 07:59:31 +08:00
|
2
qeqv 2022-11-20 08:02:41 +08:00
问之前不自己试一下吗?
|
4
horseInBlack 2022-11-20 09:00:02 +08:00
// 箭头函数的一般写法
const arrowFunction1 = () => { return 123; }; // 如果函数只有一个返回值,可以在箭头后只写返回值 const arrowFunction2 = () => 123; // 如果返回值类型为对象,对象的括号会和函数体的括号冲突,这时候可以用圆括号包住花括号 const arrowFunction3 = () => ({ a: "hello", }); |
5
netnr 2022-11-20 09:17:25 +08:00
{} 可以写复杂的逻辑再 return
|
6
sweetcola 2022-11-20 09:18:55 +08:00
区别就是第一种简洁,好看,写起来会比第二种爽,有种畅快清凉感
|
7
buxudashi 2022-11-20 10:11:15 +08:00
区别就是。当有多行时。用后面的。当有一行时,简写为第一个。
你学废了吗 |
8
justin2018 2022-11-20 10:52:16 +08:00
箭头函数 - JavaScript | MDN
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions#%E5%87%BD%E6%95%B0%E4%BD%93 在一个简写体中,只需要一个表达式,并附加一个隐式的返回值。在块体中,必须使用明确的 return 语句。 |
9
Justin13 2022-11-20 11:39:29 +08:00 via Android
没区别,后者方便打断点
|
10
sankemao 2022-11-20 19:37:01 +08:00 via iPhone
我喜欢后面的
|
11
yaphets666 2022-11-21 11:22:52 +08:00
有区别的,如果 X 是{1:2},第一种就不行了,需要加()
|
12
libook 2022-11-21 11:57:17 +08:00
题主的意思是问箭头函数右侧是用表达式和用块的区别吗?
程序上没啥区别,用表达式也是隐含有一个块级作用域并自动 returen ,也就是说实际上表达式写法会被处理成块写法。需要注意的是,右侧代码被解析成函数块的优先级高于 JSON 块,也就是说如果你要用表达式写法返回一个 JSON ,得外面套个括号,比如 ()=>({a:1}) 。 其余的就是可读性问题了,如果你打算在箭头函数后面拼接三元运算符之类的,可能读起来会比较难理解。 |
13
xingguang 2022-11-21 15:52:48 +08:00
就是简洁一些,如果返回的是个对象还可以这样写
```js () => ({ x:'xxx' }); ``` |