Sammenligning av objekter i OOP i JavaScript
La oss se på hvordan variabler som inneholder objekter sammenlignes. To variabler vil bli ansett som like hvis de inneholder en referanse til det samme objektet. La oss se på det i praksis. La oss si at vi har følgende klasse:
class User {
constructor(name) {
this.name = name;
}
}
La oss opprette to objekter av denne klassen:
let user1 = new User('1');
let user2 = new User('2');
La oss sammenligne variabler som inneholder referanse til det samme objektet:
console.log(user1 === user1); // true
La oss nå sammenligne variabler som inneholder referanse til forskjellige objekter:
console.log(user1 === user2); // false
Fortell hva resultatet av sammenligningen i følgende kode vil være:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Fortell hva resultatet av sammenligningen i følgende kode vil være:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Fortell hva resultatet av sammenligningen i følgende kode vil være:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Fortell hva resultatet av sammenligningen i følgende kode vil være:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Fortell hva resultatet av sammenligningen i følgende kode vil være:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Fortell hva resultatet av sammenligningen i følgende kode vil være:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Fortell hva resultatet av sammenligningen i følgende kode vil være:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);