Comparación de objetos en POO en JavaScript
Veamos cómo se comparan las variables que contienen objetos. Dos variables se considerarán iguales si contienen una referencia al mismo objeto. Veámoslo en la práctica. Supongamos que tenemos la siguiente clase:
class User {
constructor(name) {
this.name = name;
}
}
Creemos dos objetos de esta clase:
let user1 = new User('1');
let user2 = new User('2');
Comparemos variables que contienen una referencia al mismo objeto:
console.log(user1 === user1); // true
Y ahora comparemos variables que contienen referencias a diferentes objetos:
console.log(user1 === user2); // false
Explica cuál será el resultado de la comparación en el siguiente código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Explica cuál será el resultado de la comparación en el siguiente código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Explica cuál será el resultado de la comparación en el siguiente código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Explica cuál será el resultado de la comparación en el siguiente código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Explica cuál será el resultado de la comparación en el siguiente código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Explica cuál será el resultado de la comparación en el siguiente código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Explica cuál será el resultado de la comparación en el siguiente código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);