[英]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.