为什么在下一种情况变为真时,箭头功能的花括号使它产生不确定的内容。
function greater(n){
return (m)=>{m>n};
}
>greater(10)(11)
<undefined
function great(n){
return m=>m>n;
}
<great(10)(11)
>true
答案 0 :(得分:1)
箭头函数有一个隐式的返回值,这意味着如果不使用{}
包装它们的主体,则不需要使用return
关键字。您的函数返回undefined
,因为您没有提供返回值。您需要删除花括号或添加return
关键字:
function greater(n){
return (m)=>{return m>n};
}
最后要注意的一点是,如果要隐式返回对象,则花括号将被视为函数主体,因此将不返回任何内容。在这种情况下,您需要将对象包装在括号中:
const wrong = () => { test: true }
const right = () => ({ test: true })