Vergelyking van objekte in OOP in JavaScript
Laat ons kyk hoe veranderlikes wat objekte bevat, vergelyk word. Twee veranderlikes sal as gelyk beskou word indien hulle 'n verwysing na dieselfde objek bevat. Kom ons kyk prakties. Gestel ons het die volgende klas:
class User {
constructor(name) {
this.name = name;
}
}
Kom ons skep twee objekte van hierdie klas:
let user1 = new User('1');
let user2 = new User('2');
Vergelyk veranderlikes wat 'n verwysing na dieselfde objek bevat:
console.log(user1 === user1); // waar
En nou vergelyk ons veranderlikes wat verwysings na verskillende objekte bevat:
console.log(user1 === user2); // vals
Vertel watter resultaat die vergelyking in die volgende kode sal hê:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Vertel watter resultaat die vergelyking in die volgende kode sal hê:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Vertel watter resultaat die vergelyking in die volgende kode sal hê:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Vertel watter resultaat die vergelyking in die volgende kode sal hê:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Vertel watter resultaat die vergelyking in die volgende kode sal hê:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Vertel watter resultaat die vergelyking in die volgende kode sal hê:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Vertel watter resultaat die vergelyking in die volgende kode sal hê:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);