Споредба на објекти во ООП во JavaScript
Ајде да погледнеме како се споредуваат променливите кои содржат објекти. Две променливи ќе се сметаат за еднакви, ако содржат референца на ист објект. Ајде да видиме во пракса. Да претпоставиме дека го имаме следниот клас:
class User {
constructor(name) {
this.name = name;
}
}
Да создадеме два објекти од овој клас:
let user1 = new User('1');
let user2 = new User('2');
Да ги споредиме променливите кои содржат референца на ист објект:
console.log(user1 === user1); // true
А сега да ги споредиме променливите, кои содржат референца на различни објекти:
console.log(user1 === user2); // false
Кажете, каков ќе биде резултатот од споредбата во следниот код:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Кажете, каков ќе биде резултатот од споредбата во следниот код:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Кажете, каков ќе биде резултатот од споредбата во следниот код:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Кажете, каков ќе биде резултатот од споредбата во следниот код:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Кажете, каков ќе биде резултатот од споредбата во следниот код:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Кажете, каков ќе биде резултатот од споредбата во следниот код:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Кажете, каков ќе биде резултатот од споредбата во следниот код:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);