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