La diferencia entre == y === en el mini programa WeChat

En el subprograma WeChat, ==y ===se utilizan ambos operadores para la comparación de igualdad. Sus diferencias son las siguientes:


1. Operador ==: realiza comparación de igualdad y realiza conversión de tipo.

  • Si los dos operandos que se comparan son de tipos diferentes, el operador == intenta convertirlos al mismo tipo antes de compararlos.
  • Automáticamente realiza algunas conversiones de tipos, como cadena a número, booleano a número, etc.
  • Después de la conversión de tipos, se utilizan reglas de comparación de igualdad para la comparación.

Ejemplo: 

1 == true; // true,将 true 转换为 1
'2' == 2; // true,将 '2' 转换为 2
null == undefined; // true

2. Operador ===: realiza una comparación de igualdad estricta y no realiza conversión de tipos.

  • Si los dos operandos que se comparan son de tipos diferentes, el operador === devuelve directamente falso y no se realiza ninguna conversión de tipo.
  • Requiere que los dos operandos de la comparación sean completamente iguales en tipo y valor para devolver verdadero.

Ejemplo:

1 === true; // false,类型不同
'2' === 2; // false,类型不同
null === undefined; // false,类型不同

3. Resumen

Por lo tanto, ==los operadores realizan conversiones de tipo en sus operandos y ===requieren que los operandos sean iguales tanto en tipo como en valor. En desarrollo, se recomienda utilizar ===el operador para una comparación de igualdad estricta para evitar resultados inesperados causados ​​por la conversión de tipos.

おすすめ

転載: blog.csdn.net/m0_63080216/article/details/132427694