如何检查节点js中的变量是否为空或未定义

新手上路,请多包涵

我想检查我的数据是空白还是未定义,但即使我的数据不是空白,我的 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;
    }

});

检查变量是否未定义的最佳方法是什么

原文由 Ashutosh Jha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 249
2 个回答

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

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

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

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

原文由 gradorade 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以这样做

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

原文由 Tewdyn 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题