¿Qué es la igualdad de objetos en JavaScript?

JavaScript nos proporciona varias formas de verificar si dos objetos son iguales. Demostremos cómo verificar si dos objetos son iguales.

Hay tres tipos de igualdad: 

  • Igualdad referencial.
  • Igualdad superficial.
  • Profunda igualdad.

Igualdad referencial: Podemos decir que dos objetos son referencialmente iguales cuando los punteros de los dos objetos son los mismos o cuando los operadores son la misma instancia de objeto.

Podemos comprobar la igualdad referencial de 3 formas:

  • === (triple igual) operador o el operador de igualdad estricta. La igualdad estricta se refiere a la igualdad de dos valores. Si los dos valores son del mismo tipo, se consideran iguales.
  • == (doble igual) es el operador de igualdad flexible. Convierte ambos valores a un tipo común y luego verifica la igualdad.
  • función objeto.es() .

== operador:

Javascript

<script>
    var a = 1;
    var b = 1;
    console.log(a == b); // true
    var c = 10;
    var d = "10";
    console.log(c == d); // true
  
  
    const name1 = {
        first_name: "sarah",
    };
  
    const name2 = {
        first_name: "sarah",
    };
  
    console.log(name1 == name2); // false
</script>

Producción:

true
true
false

 === operador:

Javascript

<script>
    var a = 1;
    var b = 1;
  
    console.log(a === b); // true
    var c = 10;
    var d = "10";
  
    console.log(c === d); // false
  
    const name1 = {
        first_name: "sarah",
    };
  
    const name2 = {
        first_name: "sarah",
    };
  
    console.log(name1 === name2); // false
</script>

Producción:

true
false
false

 objeto.is() Método:

Javascript

<script>
    var a = 1;
    var b = 1;
  
    var c = 10;
    var d = "10";
  
    console.log(Object.is(c, d)); // false
    console.log(Object.is(a, b)); // true
    console.log(Object.is(a, a)); // true
  
    const name1 = {
        first_name: "sarah",
    };
  
    const name2 = {
        first_name: "sarah",
    };
  
    console.log(Object.is(name1, name2)); // false
    console.log(Object.is(name1, name1)); // true
</script>

Producción:

false
true
true
false
true

Igualdad superficial:

  • Una comprobación superficial de igualdad de objetos devuelve la lista de propiedades de ambos objetos y comprueba si las propiedades son iguales.
  • La igualdad superficial es un tipo de igualdad que ocurre cuando los valores clave en ambos objetos son iguales.

Profunda igualdad:

  • La igualdad profunda es una verificación de igualdad superficial recursiva.
  • Si las propiedades son objetos, entonces la verificación se realiza recursivamente en estos objetos.

Publicación traducida automáticamente

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