==: El operador se llama igualdad, que se usa para detectar si dos operandos son iguales. La definición de igualdad aquí es muy vaga y se permite la conversión de tipos. ===: Se usa para detectar si dos operandos son estrictamente iguales
- Para tipos básicos como cadena, número, == y === son diferentes tipos de comparaciones, == comparación "valores convertidos al mismo tipo" para ver si los "valores" son iguales, === si los tipos son diferentes, el resultado es desigual. Comparando el mismo tipo, comparando directamente el "valor", el resultado de los dos es el mismo
- Para tipos avanzados como Array y Object, no hay diferencia entre == y ===
- Hay una diferencia entre el tipo básico y el tipo avanzado == y === Para ==, convierta el tipo avanzado en el tipo básico y realice una comparación de "valores". Debido a que los tipos son diferentes, el resultado === Es falso
==
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