箭头函数带不带花括号的区别 |
您所在的位置:网站首页 › 一个函数的反函数是唯一的吗 › 箭头函数带不带花括号的区别 |
今天在写代码的时候遇到了这样一个问题: this.ids = selection.map((item) => {item.userId})本意是,遍历数组中的数据,将已经选中的数据存入到ids变量中。但是尝试了多次,ids中都没有被存入数据,一直是空的。 通过和源代码进行比对,发现了问题,以下是源代码: this.ids = selection.map((item) => item.userId)发现两者唯一的区别就是,箭头函数的函数体有没有加花括号。 一直以为只有一句代码的时候,箭头函数是可以省略函数体外层的花括号,并不知道他们还有什么区别。通过查阅资料得到: 第一行代码中的箭头函数使用了花括号 {},并且没有显式地返回任何值。它尝试将 selection 数组中每个元素的 userId 属性提取出来,并且将结果存储到 this.ids 中。由于花括号存在,在箭头函数中需要使用 return 语句来明确指定返回值。 修改后的第二行代码中,花括号 {} 被省略了,这意味着箭头函数只有一条语句。这种情况下,箭头函数会自动将这条语句的结果作为返回值。因此,使用了简化的箭头函数语法,直接提取 item.userId 属性,并将结果存储到 this.ids 中。 总结一下: 当函数有花括号时,需要写上返回值,也就是return一个东西出来,不然什么也得不到;当函数体只有一行语句时,可以不加花括号,该函数会自动的将这条语句的结果作为返回值。以上就是箭头函数加不加花括号的区别~ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |