繁体   English   中英

代码的第二行是什么意思?

[英]What does the second line of the code mean?

请问下面代码的第二行是什么意思,它是一个十元操作,如果不是那么它是什么,它是什么意思

   const user = await User.findOne({ email: req.body.email });
   !user && res.status(404).json("user not found");

它不是三元运算符。 &&运算符正在评估左侧部分,如果不是,则将其强制为布尔值。 然后,如果它变为true ,它会评估&&之后的右侧部分并返回结果值。 但是如果它变成假,它会返回左边的部分(不是强制的)。

! 运算符做两件事:它强制转换为布尔值并返回相反的值。

所以在这里,如果在第一行找到了一个user!user将是false并且res.status(404).json("user not found")不会被评估。

相反,如果没有找到user!user将为true ,第二行将返回状态 404。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM