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' }); ``` |