Javascript 为什么比较对象值返回false?
我正在创建一个电子邮件检查器,以查看前端输入的电子邮件是否与后端输入的电子邮件完全相同。我已经成功地获得了前端和后端电子邮件,但每次我检查它们时都返回false,即使它们的值相同。我正在使用Object.is来检查值是否相同,我也尝试了典型的(data.email==user.email)方法,但它仍然返回false,即使值相同Javascript 为什么比较对象值返回false?,javascript,html,css,mongodb,mongoose,Javascript,Html,Css,Mongodb,Mongoose,我正在创建一个电子邮件检查器,以查看前端输入的电子邮件是否与后端输入的电子邮件完全相同。我已经成功地获得了前端和后端电子邮件,但每次我检查它们时都返回false,即使它们的值相同。我正在使用Object.is来检查值是否相同,我也尝试了典型的(data.email==user.email)方法,但它仍然返回false,即使值相同 router.get('/checkemail',(req,res)=>{ let data = req.query; console.log(data)
router.get('/checkemail',(req,res)=>{
let data = req.query;
console.log(data)
User.findOne({
username: data.username,
},function(error,user){
if(error){
res.status(401).send(error)
} else if(Object.is(user.email, data.email)) {
res.status(200).send(true)
} else {
res.status(401).send(false)
}
})
})
可以尝试对object.is的每个参数使用trim()函数吗
Object.is(user.email.trim(), data.email.trim())
user.email
和data.email
的值是什么?domdiddy125@gmail.comMake确保没有多余的空格或某些外来字符。控制台.log('%o%o',user.email,data.email)的输出是什么?它们完全相同,可以在本地运行吗?