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