JS比較運算符

嚴格比較運算符 ===

僅當兩個操做數的類型相同且值相等爲 true,不作類型轉換,比較容易理解指針

類型轉換比較運算符 ==

  1. 當比較數字和字符串時,字符串會轉換成數字值。 JavaScript 嘗試將數字字面量轉換爲數字類型的值。 首先, 一個數學上的值會從數字字面量中衍生出來,而後獲得被四捨五入後的數字類型的值。
  2. 若是其中一個操做數爲布爾類型,那麼布爾操做數若是爲true,那麼會轉換爲1,若是爲false,會轉換爲整數0,即0。
  3. 若是一個對象與數字或字符串相比較,JavaScript會嘗試返回對象的默認值。操做符會嘗試經過方法valueOf和toString將對象轉換爲其原始值(一個字符串或數字類型的值)。若是嘗試轉換失敗,會產生一個運行時錯誤。
  4. 注意:當且僅當與原始值比較時,對象會被轉換爲原始值。當兩個操做數均爲對象時,它們做爲對象進行比較,僅當它們引用相同對象時返回true。

比較的特色

  1. 對於兩個擁有相同字符順序,相同長度,而且每一個字符的位置都匹配的字符串,應該使用嚴格比較運算符。
  2. 對於兩個數值相同的數字應該使用嚴格比較運算符,NaN和任何值不相等,包括其自身,正數零等於負數零。
  3. 對於兩個同爲true或同爲false的布爾操做數,應使用嚴格比較運算符。
  4. 不要使用嚴格比較運算符或比較運算符來比較兩個不相等的對象。
  5. 當比較一個表達式和一個對象時,僅當兩個操做數引用相同的對象(指針指向相同對象)。
  6. 對於Null 和 Undefined 類型而言,應使用嚴格比較運算符比較其自身,使用比較運算符進行互相比較。
相關文章
相關標籤/搜索