'=='操作符的小动作
生活随笔
收集整理的這篇文章主要介紹了
'=='操作符的小动作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[0] == true; // false
[] == ![]; // true
其中一個值是boolean值:兩個值都轉為數字,false轉為0,true轉為1 其中一個值是字符串,另一個是數字:都轉為數字再對比 其中一個是對象,另一個不是對象:調用對象的valueof方法,得到基本類型 其中一個是對象,另一個也是對象:對比對象指向的內存地址是否相等 其中一個是null,另一個是undefined:結果為true NaN與任何類型(包括本身NaN)都不相等 null,undefined在進行比較的時候,不進行數據類型轉換
相等操作符會有一個隱形的轉換,這個隱形的轉化會導致結果很"奇怪"。下面是隱形轉換的基本規則:
輸出結果分析
[0] == true;// 最終的對比形式 Number([0]) == Number(true); [] == ![];// !的運算級別比 '==' 高,先進行以下轉換 [] == false;// 再轉化為最終的對比形式 Number([]) == Number(false);'奇怪'的結果
undefined == 0; // falsenull == 0; //falsefalse == 0; //truetrue == 1; //truetrue == 2; //false[] == []; //false總結
以上是生活随笔為你收集整理的'=='操作符的小动作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于nuxt和iview搭建OM后台管理
- 下一篇: 为什么说要重视神经网络加速器