如何在节点js中检查变量是空白还是未定义

时间:2016-01-19 13:59:30

标签: javascript node.js undefined

我想检查我的数据是空白还是未定义但我的if块执行甚至我的数据都不是空白...

代码是:

router.post('/addNewGrade',function(req , res){ 
    var errorMsg = [];  
    console.log(req.body.gradeName)
    if(req.body.gradeName == '' || req.body.gradeName === undefined){
        errorMsg.push("please enter grade name");
    }
    if(req.body.gradeDescription == '' || req.body.gradeDescription === undefined){
        errorMsg.push("please enter description about your grade");
    }
    if(errorMsg !=''){
        res.send({errorMessage :errorMsg}); 
        return;
    }

});

检查变量的最佳方法是未定义或不是

3 个答案:

答案 0 :(得分:12)

因为未定义的变量是“假的”,你可以简单地做

if (body.req.gradeName) {
  // do normal stuff
} else {
  // do error stuff
}

或者如果定义了你不需要做任何事情,那么你可以做

if (!(body.req.gradeName)) {
 // do error stuff 
}

答案 1 :(得分:0)

你可以这样做

if(typeof variable === 'undefined'){
//Variable isn't defined
}

答案 2 :(得分:-2)

它正在运作

if(req.body.gradeDescription == '' || req.body.gradeDescription === undefined)