Comparaison d'objets en POO en JavaScript
Voyons comment sont comparées les variables contenant des objets. Deux variables seront considérées comme égales si elles contiennent une référence au même objet. Voyons cela en pratique. Supposons que nous ayons la classe suivante :
class User {
constructor(name) {
this.name = name;
}
}
Créons deux objets de cette classe :
let user1 = new User('1');
let user2 = new User('2');
Comparons les variables contenant une référence au même objet :
console.log(user1 === user1); // true
Maintenant, comparons les variables, contenant une référence à des objets différents :
console.log(user1 === user2); // false
Dites quel sera le résultat de la comparaison dans le code suivant :
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Dites quel sera le résultat de la comparaison dans le code suivant :
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Dites quel sera le résultat de la comparaison dans le code suivant :
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Dites quel sera le résultat de la comparaison dans le code suivant :
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Dites quel sera le résultat de la comparaison dans le code suivant :
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Dites quel sera le résultat de la comparaison dans le code suivant :
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Dites quel sera le résultat de la comparaison dans le code suivant :
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);