箭头函数奇怪的{}

来源:4-2 热卖推荐--从服务器端获取数据

楚楚提

2020-02-18 13:00:24

http://img.mukewang.com/climg/5e4b6eff09182af609180333.jpg

这是加了{}的情况,代码如下:

const parseParam = data => {
  let params = [];
  for (let key in data) {
    params.push([key, data[key]]);
  }
  console.log(params);
  // params.map(value => value.join('=')).join('&');
  console.log(params.map(value => {value.join('=')})).join("&") ;
}

报错,并且undefined:

http://img.mukewang.com/climg/5e4b6f370983a79605520200.jpg

去掉{}:

http://img.mukewang.com/climg/5e4b6f4a09e0e36909800335.jpg

又一切正常了:

http://img.mukewang.com/climg/5e4b6f620998de4005740051.jpg

这是怎么回事

写回答

1回答

好帮手慕慕子

2020-02-18

同学你好,因为箭头函数,只有一条语句时,且没有添加{}时,在执行代码时,默认在这句代码前添加return,将结果返回出去。示例:

http://img.mukewang.com/climg/5e4b8f2709ab086104600266.jpg

http://img.mukewang.com/climg/5e4b8f320958f48a03260248.jpg

但是添加{}后,代码执行时就不会默认添加return了,需要手动添加才可以。示例:

http://img.mukewang.com/climg/5e4b8f9609e492be08400418.jpg

根据上面的示例解析可知,同学的这段代码,不需要添加{},直接将join拼接的结果返回出去,满足map方法语法。

http://img.mukewang.com/climg/5e4b8fd10929d05217720634.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 10739 问题

查看课程