在没有ES6的JS中运行的简单功能:
var evenOrOdd = function(n){
if(n % 2 == 1){
return "Odd";
} else {
return "Even";
}
}
console.log(evenOrOdd(3)); //returns odd
我尝试使用ES6进行重组:
const evenOrOdd = (n) => {(n % 2 == 1) ? "Odd" : "Even"};
console.log(evenOrOdd(3)); //returns undefined
为什么此箭头功能会返回undefined
?
答案 0 :(得分:0)
您必须删除{}
。
const evenOrOdd = n => (n % 2 === 1 ? "odd" : "even")
console.log(evenOrOdd(3)) //=> "odd"

答案 1 :(得分:0)
(可能对其他人有帮助)
我试图从嵌套函数返回一个值,这是错误的
const isEmailExistsInDb = usrEmail => {
userModel.countDocuments( {"email": usrEmail}, function (err, count){
return tempCount > 0;
});
};
正确的是,必须从父函数返回值
const isEmailExistsInDb = usrEmail => {
let tempCount;
mongoModel.countDocuments( {"email": usrEmail}, function (err, count){
tempCount = count;
});
// count > 0 if document exists
return tempCount > 0;
};