Javascript 值控制台记录为true,但在if语句中声明为false

Javascript 值控制台记录为true,但在if语句中声明为false,javascript,express,Javascript,Express,所以我有这个密码 router.get("/timecard", ensureAuthenticated, async(req, res)=>{ users = await User.find(); console.log(req.user.cwlEmployee); if(req.user.cwlEmployee !== true){ req.flash('error_msg', 'You do not have access to that pa

所以我有这个密码

router.get("/timecard", ensureAuthenticated, async(req, res)=>{
    users = await User.find();
    console.log(req.user.cwlEmployee);
    if(req.user.cwlEmployee !== true){
        req.flash('error_msg', 'You do not have access to that page, sorry.');
        res.render('dashboard', {
            name: req.user.name
        })
    }else{
        res.render('ep/timecard', {
            name: req.user.name,
            users: users
        });
}});
console.log()输出true,但它下面的if语句的作用就像req.user.cwlEmployee=false一样


这可能是什么原因造成的?我已经在我的代码的许多其他位置使用了这个代码片段,并且在其他地方它工作得很好

也许
req.user.cwlEmployee
是真实的,但不等于类型
boolean
,值
true

req.user.cwlEmployee的类型是什么
console.log(typeof req.user.cwlEmployee)
你是英雄,它不是布尔XD