Diferencia entre == y === operador en JavaScript

El operador ‘==’ comprueba la igualdad abstracta, es decir, realiza las conversiones de tipo necesarias antes de realizar la comparación de igualdad.
Pero el operador ‘===’ comprueba la igualdad estricta, es decir, no realizará la conversión de tipos, por lo tanto, si los dos valores no son del mismo tipo, al compararlos, devolverá falso.

Ejemplo 1:

<script>
    // In R.H.S. string "9" is converted into
    // number 9, hence returns true.
    document.write(9 == "9"); 
      
    // used for next line
    document.write('<br>')
   
    // Here no type conversion takes place,
    // hence returns false
    document.write(9 === "9"); 
</script>

Producción:

true
false

Ejemplo 2:

<script>
    // Here L.H.S. is a string literal whereas
    // R.H.S. is a string object,
    // due to type conversion of string object into 
    // a string literal, it returns true.
    document.write("GeeksforGeeks" == new String("GeeksforGeeks"));
  
    // used for next line
    document.write('<br>')
  
    // No type conversion takes place
    document.write("GeeksforGeeks" === new String("GeeksforGeeks"));
  
</script>

Producción:

true
false

Ejemplo 3:

<script> 
   // Here number 1 is converted into true(boolean type)
   // as in javascript true is referred as 1 and false is
   // referred as 0, hence it returns true.
   document.write(true == '1');
  
   // used for next line
   document.write('<br>') 
  
   // No type conversion so it returns false    
   document.write(true === '1');
  
</script>

Producción:

true
false

En general, se recomienda el operador “===”, ya que nunca hace conversión de tipo, estamos haciendo una comparación exacta, por lo que siempre produce resultados correctos.

Publicación traducida automáticamente

Artículo escrito por SARANYA_JENA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *