Objektumok összehasonlítása az OOP-ban JavaScriptben
Nézzük meg, hogyan hasonlítjuk össze az objektumokat tartalmazó változókat. Két változó akkor tekinthető egyenlőnek, ha ugyanarra az objektumra mutató hivatkozást tartalmaznak. Nézzük meg a gyakorlatban. Tegyük fel, hogy van a következő osztályunk:
class User {
constructor(name) {
this.name = name;
}
}
Hozzunk létre két objektumot ebből az osztályból:
let user1 = new User('1');
let user2 = new User('2');
Hasonlítsuk össze az ugyanarra az objektumra mutató változókat:
console.log(user1 === user1); // true
Most pedig hasonlítsuk össze a különböző objektumokra mutató változókat:
console.log(user1 === user2); // false
Mondd el, mi lesz az eredménye a következő kód összehasonlításának:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Mondd el, mi lesz az eredménye a következő kód összehasonlításának:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Mondd el, mi lesz az eredménye a következő kód összehasonlításának:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Mondd el, mi lesz az eredménye a következő kód összehasonlításának:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Mondd el, mi lesz az eredménye a következő kód összehasonlításának:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Mondd el, mi lesz az eredménye a következő kód összehasonlításának:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Mondd el, mi lesz az eredménye a következő kód összehasonlításának:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);