為什么null == undefined為true,null === undefined false NaN == NaN false undefined == 0 false null == 0 false


盲猜:

  首先為什么null==undefined 因為是雙等好就是操作數的對比,他們兩的內存空間都沒有操作數所以相等,由於內存空間的地址不同所以他們===是false,

  NaN == NaN false 是因為表示這個不是一個數字,既然表示不是一個數字所以這個情況無數種,所以就是false

  null>=0 為true這個就是因為在js的源碼中把關系的>< 這兩個符號有類型轉換把null轉成了0所以<=0也是true,但是在==沒有類型轉換所以是false

  undefined>=0還是false是由於null的typeof是一個object本質是對象,但是undefined還是undefined所以沒有發生變化。

  

  let result1 = ("55" == 55); // true,轉換后相等
  let result2 = ("55" === 55); // false,不相等,因為數據類型不同
 
  這個說明js沒有根據類型來判斷是不是只是根據 這個的操作數的具體價值,還是內存與不內存的關系


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM