Perbandingan Objek dalam OOP dalam JavaScript
Mari kita lihat bagaimana pemboleh ubah yang mengandungi objek dibandingkan. Dua pemboleh ubah akan dianggap sama, jika mereka mengandungi rujukan kepada objek yang sama. Mari kita lihat secara praktik. Katakan kita mempunyai kelas berikut:
javascriptclass User {
constructor(name) {
this.name = name;
}
}
Mari buat dua objek kelas ini:
javascriptlet user1 = new User('1');
let user2 = new User('2');
Bandingkan pemboleh ubah yang mengandungi rujukan kepada objek yang sama:
javascriptconsole.log(user1 === user1); // true
Sekarang bandingkan pemboleh ubah, yang mengandungi rujukan kepada objek yang berbeza:
javascriptconsole.log(user1 === user2); // false
Beritahu, apakah hasil perbandingan dalam kod berikut:
javascriptclass Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Beritahu, apakah hasil perbandingan dalam kod berikut:
javascriptclass Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Beritahu, apakah hasil perbandingan dalam kod berikut:
javascriptclass Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Beritahu, apakah hasil perbandingan dalam kod berikut:
javascriptclass Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Beritahu, apakah hasil perbandingan dalam kod berikut:
javascriptclass Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Beritahu, apakah hasil perbandingan dalam kod berikut:
javascriptclass Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Beritahu, apakah hasil perbandingan dalam kod berikut:
javascriptclass Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);