Comparação de objetos em OOP em JavaScript
Vamos ver como são comparadas variáveis que contêm objetos. Duas variáveis serão consideradas iguais se contiverem uma referência ao mesmo objeto. Vamos ver na prática. Suponha que temos a seguinte classe:
class User {
constructor(name) {
this.name = name;
}
}
Vamos criar dois objetos desta classe:
let user1 = new User('1');
let user2 = new User('2');
Vamos comparar variáveis que contêm uma referência ao mesmo objeto:
console.log(user1 === user1); // true
E agora vamos comparar variáveis que contêm uma referência a objetos diferentes:
console.log(user1 === user2); // false
Conte qual será o resultado da comparação no seguinte código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Conte qual será o resultado da comparação no seguinte código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Conte qual será o resultado da comparação no seguinte código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Conte qual será o resultado da comparação no seguinte código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Conte qual será o resultado da comparação no seguinte código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Conte qual será o resultado da comparação no seguinte código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Conte qual será o resultado da comparação no seguinte código:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);