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