Primerjava objektov v OOP v JavaScriptu
Poglejmo, kako se primerjajo spremenljivke, ki vsebujejo objekte. Dve spremenljivki bosta šteti za enaki, če vsebujeta referenco na isti objekt. Poglejmo v praksi. Recimo, da imamo naslednji razred:
class User {
constructor(name) {
this.name = name;
}
}
Ustvarimo dva objekta tega razreda:
let user1 = new User('1');
let user2 = new User('2');
Primerjajmo spremenljivke, ki vsebujejo referenco na isti objekt:
console.log(user1 === user1); // true
Zdaj pa primerjajmo spremenljivke, ki vsebujejo referenco na različne objekte:
console.log(user1 === user2); // false
Povejte, kakšen bo rezultat primerjave v naslednji kodi:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Povejte, kakšen bo rezultat primerjave v naslednji kodi:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Povejte, kakšen bo rezultat primerjave v naslednji kodi:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Povejte, kakšen bo rezultat primerjave v naslednji kodi:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Povejte, kakšen bo rezultat primerjave v naslednji kodi:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Povejte, kakšen bo rezultat primerjave v naslednji kodi:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Povejte, kakšen bo rezultat primerjave v naslednji kodi:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);