Compararea obiectelor în OOP în JavaScript
Să vedem cum se compară variabilele care conțin obiecte. Două variabile vor fi considerate egale, dacă ele conțin o referință către același obiect. Să vedem în practică. Să presupunem că avem următoarea clasă:
class User {
constructor(name) {
this.name = name;
}
}
Să creăm două obiecte ale acestei clase:
let user1 = new User('1');
let user2 = new User('2');
Să comparăm variabilele care conțin referința către același obiect:
console.log(user1 === user1); // true
Acum să comparăm variabilele, care conțin referința către obiecte diferite:
console.log(user1 === user2); // false
Spuneți care va fi rezultatul comparării în următorul cod:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Spuneți care va fi rezultatul comparării în următorul cod:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Spuneți care va fi rezultatul comparării în următorul cod:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Spuneți care va fi rezultatul comparării în următorul cod:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Spuneți care va fi rezultatul comparării în următorul cod:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Spuneți care va fi rezultatul comparării în următorul cod:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Spuneți care va fi rezultatul comparării în următorul cod:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);