您的位置:首页 > 财经 > 产业 > 福田祥菱m2柴油版_黑龙江今天的新消息_seo服务 收费_百度推广网站平台

福田祥菱m2柴油版_黑龙江今天的新消息_seo服务 收费_百度推广网站平台

2025/5/14 15:17:34 来源:https://blog.csdn.net/L_xxxxxxx/article/details/147333992  浏览:    关键词:福田祥菱m2柴油版_黑龙江今天的新消息_seo服务 收费_百度推广网站平台
福田祥菱m2柴油版_黑龙江今天的新消息_seo服务 收费_百度推广网站平台

由于代码写太快,又踩了个雷

const temp1 = this.tagList.filter(i => {this.labs.includes(i.tagName)
})const temp2 = this.tagList.filter(item => this.labs.includes(item.tagName)
);console.log(temp1)   // []
console.log(temp2)   // [{...}]

temp1 一直没有返回数据,把代码发给deepseek,才发现是 JavaScript 箭头函数的隐式返回规则...

箭头函数的返回值机制

当箭头函数使用大括号 {} 时,它变成了一个代码块,此时必须显式使用 return 来返回值

代码没有 return,所以函数默认返回 undefined(相当于 false),导致 filter() 没有保留任何元素

temp1 的代码等于

const temp1 = this.tagList.filter(i => {this.form.labs.includes(i.tagName);return undefined; // 默认行为
});

当箭头函数省略大括号 {} 时,它会隐式返回单行表达式的结果 includes() 值

temp2 的代码等于

const temp = this.tagList.filter(item => {return this.form.labs.includes(item.tagName); // 显式返回
});

根本原因:箭头函数的大括号 {} 是否使用导致了返回值差异

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com