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:
class User {
constructor(name) {
this.name = name;
}
}
Mari buat dua objek kelas ini:
let user1 = new User('1');
let user2 = new User('2');
Bandingkan pemboleh ubah yang mengandungi rujukan kepada objek yang sama:
console.log(user1 === user1); // true
Sekarang bandingkan pemboleh ubah, yang mengandungi rujukan kepada objek yang berbeza:
console.log(user1 === user2); // false
Beritahu, apakah hasil perbandingan dalam kod berikut:
class 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:
class 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:
class 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:
class 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:
class 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:
class 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:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);