Javascript 为什么';my arrow函数是否返回值?
我有一个箭头函数,如下所示(简化): 但是当我调用它时,我得到了Javascript 为什么';my arrow函数是否返回值?,javascript,ecmascript-6,arrow-functions,Javascript,Ecmascript 6,Arrow Functions,我有一个箭头函数,如下所示(简化): 但是当我调用它时,我得到了未定义的: console.log(f("testing")); // undefined 为什么? 例如: const f=arg=>{arg.toUpperCase();}; 控制台日志(f(“测试”)使用箭头函数的函数体版本时(使用{}),没有隐含的返回。您必须指定它。使用简明体(no{})时,体表达式的结果由函数隐式返回 因此,您可以使用显式的返回来编写: const f = arg => { return arg
未定义的:
console.log(f("testing")); // undefined
为什么?
例如:
const f=arg=>{arg.toUpperCase();};
控制台日志(f(“测试”)代码>使用箭头函数的函数体版本时(使用{}
),没有隐含的返回。您必须指定它。使用简明体(no{}
)时,体表达式的结果由函数隐式返回
因此,您可以使用显式的返回来编写:
const f = arg => { return arg.toUpperCase(); };
// Explicit return ^^^^^^
或者用简洁的正文:
const f = arg => arg.toUpperCase();
示例:
const f1=arg=>{return arg.toUpperCase();};
控制台日志(f1(“测试”));
常量f2=arg=>arg.toUpperCase();
控制台日志(f2(“测试”))代码>
const f = arg => arg.toUpperCase();