operadores
Cuando comencé con el lenguaje, muchas veces leía esta especie de dogma sobre los tressímbolos de igual pero tardé un tiempo en entender correctamente los motivos.
Sin duda, la comparación de elementos es uno de los pilares básicos de cualquier aplicación. Sea en el lenguaje que sea. Muchasveces usaremos sentencias como:
if (a == b){
//Hagamos algo maravilloso
}
else
// Mejor no hacemos nada
O, si sois fieles seguidores del dogma de los tres símbolos, haréis algo así:
if(a === b){
//Hagamos algo maravilloso
}
La diferencia entre ambas sentencias de control, es que la segunda usa el operador de triple-igual, lo cual implica una igualdad estricta o idéntica.
Alprincipio es muy común usarlos por usar “buenas prácticas” en vez de los dos iguales, muchas veces sin comprender el porqué, ni cual es la diferencia.
Entiende las diferencias
En JavaScript, haceruna comparación con dos símbolos de igual (como es habitual en otros lenguajes), el resultado será evaluado como true si ambos valores son iguales. No obstante, debido a las características especialesdel lenguaje, si los valores comparados son de distinto tipo, se hará una conversión de tipos.
Cada valor en un lenguaje de programación, es de un tipo. En JavaScript tenemos cadenas, numeros,booleanos, funciones y objetos. Si intentamos comparar por ejemplo true con un número, el navegador convertirá true a 1 y luego lo comparará. Si intentamos comparar una cadena con un número, el navegadorigualmente, intentará convertir la cadena en un número.
Esto puede ser beneficioso a veces aunque otras no tanto:
0 == false // true -> El 0 es un valor "falso" en JavaScript
null == false //...
Regístrate para leer el documento completo.