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:
javascriptclass User {
constructor(name) {
this.name = name;
}
}
Kom ons skep twee objekte van hierdie klas:
javascriptlet user1 = new User('1');
let user2 = new User('2');
Vergelyk veranderlikes wat 'n verwysing na dieselfde objek bevat:
javascriptconsole.log(user1 === user1); // waar
En nou vergelyk ons veranderlikes wat verwysings na verskillende objekte bevat:
javascriptconsole.log(user1 === user2); // vals
Vertel watter resultaat die vergelyking in die volgende kode sal hê:
javascriptclass 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ê:
javascriptclass 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ê:
javascriptclass 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ê:
javascriptclass 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ê:
javascriptclass 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ê:
javascriptclass 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ê:
javascriptclass Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);