JavaScript | ‘===’ vs ‘==’Operador de comparación

En Javascript (ES6), hay cuatro formas de probar la igualdad que se enumeran a continuación:

  • Usando el operador ‘==’
  • Usando el operador ‘===’
  • SameValueZero: utilizado principalmente en conjuntos, mapas y arreglos.
  • SameValue: utilizado en otros lugares

Ahora, nuestra principal preocupación es conocer la diferencia entre los operadores ‘==’ y ‘===’ que proporciona javascript, aunque se ven similares, son muy diferentes. Operador ‘==’: en Javascript, el operador ‘==’ también se conoce como operador de igualdad flexible, que se usa principalmente para comparar dos valores en ambos lados y luego devolver verdadero o falso. Este operador verifica la igualdad solo después de convertir ambos valores a un tipo común, es decir , tipo coerción . Nota: La coerción de tipo significa que los dos valores se comparan solo después de intentar convertirlos en el mismo tipo. Veamos todos los valores en los que el operador ‘==’ devolverá verdadero. Ejemplo: 

javascript

// '==' operator
console.log(21 == 21);
console.log(21 == '21');
console.log('food is love'=='food is love');
console.log(true == 1);
console.log(false == 0);
console.log(null == undefined);

Salida: en el código anterior, cuando comparamos 21 con ’21’, el javascript convertirá el ’21’ en el valor numérico de 21 y, por lo tanto, obtenemos verdadero, sucede algo similar cuando intentamos verificar si ‘verdadero == 1’ , en ese caso, el javascript básicamente convierte 1 en un valor real y luego compara y devuelve el booleano verdadero. El caso de (null == indefinido) es especial ya que cuando comparamos estos valores obtenemos la verdad, pero no está muy claro por qué. En javascript hay dos tipos de valores: verdadero o falso Verdadero

  • ‘0’
  • ‘falso’ // falso envuelto en una string.
  • []
  • {}
  • función(){}

Falso

  • ” o “” // string vacía
  • falso
  • 0
  • nulo
  • indefinido
  • NaN // no-un-número

Entonces, tanto nulo como indefinido son valores falsos y representan un valor ‘vacío’ o indefinido en js, por lo tanto, la comparación con el operador ‘==’ devuelve verdadero. Ahora, veamos todos los valores en los que el operador ‘==’ devolverá falso. Ejemplo: 

javascript

// '==' operator
console.log(21 == 32);
console.log(21 == '32');
console.log(true == 0);
console.log(null == false);

Salida: en el código anterior, cuando comparamos nulo con falso, obtenemos falso, dado que nulo es un tipo de datos primitivo, nunca puede ser igual a un valor booleano, aunque pertenezcan al mismo grupo falso. Operador ‘===’: También conocido como operador de igualdad estricta, compara tanto el valor como el tipo, de ahí el nombre de “igualdad estricta”. Veamos un código donde el operador ‘===’ devolverá verdadero. Ejemplo: 

javascript

// '===' operator
console.log('hello world' === 'hello world');
console.log(true === true);
console.log(5 === 5);

Salida: simplemente verificando los tipos y valores en ambos lados y luego simplemente imprimiendo el valor booleano verdadero o falso. Algún ejemplo donde devolverá falso. 

javascript

// '===' operator
console.log(true === 1);
console.log(true === 'true');
console.log(5 === '5');

Producción:

Publicación traducida automáticamente

Artículo escrito por support3 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 *