首页 > web前端 > js教程 > 为什么 JavaScript 中的某些箭头函数返回'未定义”?

为什么 JavaScript 中的某些箭头函数返回'未定义”?

Patricia Arquette
发布: 2024-12-18 05:25:09
原创
311 人浏览过

Why Do Some Arrow Functions Return `undefined` in JavaScript?

为什么箭头函数可能返回未定义:显式返回与隐式返回难题

箭头函数为在 JavaScript 中定义函数提供了简洁的语法。然而,在处理用括号({})包裹的函数体时,初学者经常会遇到一个奇怪的问题:为什么这些箭头函数返回 undefined?

考虑下面的简化示例:

const f = arg => { arg.toUpperCase(); };
console.log(f("testing")); // undefined
登录后复制

这个箭头函数的目的是将参数转换为大写,但它返回未定义。原因在于箭头函数主体周围的可选大括号。

与简洁主体(不带大括号)的箭头函数不同,主体表达式是隐式返回的,具有函数主体语法的箭头函数需要一个显式返回语句。在原始示例中,缺少显式返回会导致返回 undefined 而不是大写参数。

要纠正此问题,您可以使用显式返回:

const f = arg => { return arg.toUpperCase(); };
// Explicit return ^^^^^^
登录后复制

或者使用简洁的正文:

const f = arg => arg.toUpperCase();
登录后复制

显式返回且简洁的示例body:

const f1 = arg => { return arg.toUpperCase(); };
console.log(f1("testing"));

const f2 = arg => arg.toUpperCase();
console.log(f2("testing"));
登录后复制

通过遵守这些规则,您可以确保箭头函数始终返回预期值,无论是通过显式返回还是隐式返回。

以上是为什么 JavaScript 中的某些箭头函数返回'未定义”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板