簡體   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