Confronto di oggetti in OOP in JavaScript
Diamo un'occhiata a come vengono confrontate le variabili che contengono oggetti. Due variabili saranno considerate uguali se contengono un riferimento allo stesso oggetto. Vediamo in pratica. Supponiamo di avere la seguente classe:
class User {
constructor(name) {
this.name = name;
}
}
Creiamo due oggetti di questa classe:
let user1 = new User('1');
let user2 = new User('2');
Confrontiamo le variabili che contengono un riferimento allo stesso oggetto:
console.log(user1 === user1); // true
Ora confrontiamo le variabili che contengono riferimenti a oggetti diversi:
console.log(user1 === user2); // false
Spiegate quale sarà il risultato del confronto nel seguente codice:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Spiegate quale sarà il risultato del confronto nel seguente codice:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Spiegate quale sarà il risultato del confronto nel seguente codice:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Spiegate quale sarà il risultato del confronto nel seguente codice:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Spiegate quale sarà il risultato del confronto nel seguente codice:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Spiegate quale sarà il risultato del confronto nel seguente codice:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Spiegate quale sarà il risultato del confronto nel seguente codice:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);