==:演算子は等式と呼ばれ、2つのオペランドが等しいかどうかを検出するために使用されます。ここでの等式の定義は非常に緩く、型変換が許可されます。===:2つのオペランドが厳密に等しいかどうかを検出するために使用されます。
- 文字列、数値、==、===などの基本的なタイプは異なるタイプの比較です。==比較「値は同じタイプに変換されます」で、「値」が等しいかどうかを確認します。タイプの場合は===異なる、結果は等しくない同じタイプを比較し、「値」を直接比較すると、2つの結果は同じです
- 配列やオブジェクトなどの高度なタイプの場合、==と===の間に違いはありません。
- 基本型と高度型には違いがあります==と=====の場合、高度型を基本型に変換し、「値」の比較を行います。型が異なるため、===の結果偽です
==
1 == true //true // Number Boolean
2 == true //false
1 == "1" //true // Number String
[] == "" //true // Object String
[] == false // true // Object Boolean
[] == 0 //true // Object Number
[] == {} //false
[] == [] //false
{} == {} //false
null == undefined //true
===
1 === true //false
1 === "1" //false
[] === "" //false
null === undefined //false