Signo triple igual de JavaScript VS signo doble igual: operadores de comparación explicados con ejemplos

Es posible que haya visto signos iguales dobles y triples en JavaScript. ¿Pero, qué quieren decir?

Bueno, en resumen: ==inherentemente convierte el tipo y ===no convierte el tipo.

Double Equals ( ==) comprueba únicamente la igualdad de valores. Inherentemente hace coerción de tipos. Esto significa que antes de verificar los valores, convierte los tipos de variables para que coincidan entre sí.

Por otro lado, Triple Equals ( ===) no realiza coerción de tipo. Verificará si las variables que se comparan tienen el mismo valor Y el mismo tipo.

Bien, ayudémoslo a comprender mejor la diferencia a través de algunos ejemplos. Para cada uno de estos, considere cuál será el resultado de estas declaraciones.

Ejemplo 1:

const foo = "test" const bar = "test" console.log(foo == bar) //true console.log(foo === bar) //true 

El valor y el tipo de ambos fooy bares el mismo. Por tanto, el resultado es truepara ambos.

Ejemplo 2: ‌

const number = 1234 const stringNumber = '1234' console.log(number == stringNumber) //true console.log(number === stringNumber) //false 

El valor de numbery stringNumberes similar aquí. Sin embargo, el tipo de numberes Numbery el tipo de stringNumberes string. Aunque los valores son los mismos, el tipo no es el mismo. Por lo tanto, un ==cheque regresa true, pero cuando se verifica el valor y el tipo, el valor es false.

Ejemplo 3:

console.log(0 == false) //true console.log(0 === false) //false 

Razón: mismo valor, diferente tipo. Tipo coerción

Este es un caso interesante. El valor de 0cuando se marca con falsees el mismo. Es así porque 0y falsetienen el mismo valor para JavaScript, pero cuando se verifica el tipo y el valor, el valor es falso porque 0es un numbery falsees boolean.

Ejemplo 4:

const str = "" console.log(str == false) //true console.log(str === false) //false

El valor de la cadena vacía y falsees el mismo en JavaScript. Por lo tanto, ==devuelve verdadero. Sin embargo, el tipo es diferente y, por lo tanto, ===devuelve falso.

¿Cuándo debe usar ==y cuándo debe usar ===?

En caso de duda, utilice ===. Esto te salvará de un montón de errores potenciales.

Si está apoyando un caso de uso en el que puede ser un poco indulgente con el tipo de datos entrantes, utilice ==. Por ejemplo, si una API acepta ambos "true"y truedel cliente, utilice ==. En resumen, no lo use a ==menos que tenga un caso de uso sólido para ello.

Aquí hay una práctica tabla de verdad de JavaScript para su referencia y para mostrarle cuán complicada es la igualdad en JavaScript:

Si te gustó este artículo, asegúrate de seguirme en Twitter para recibir actualizaciones.

P: ¿Cuánto espacio se liberará una vez que Gran Bretaña abandone la UE?

.

.

.

A: 1 GB # DevJoke #NotAJoke

- Shruti Kapoor (@ shrutikapoor08) 4 de octubre de 2019