Поређење објеката у ООП-у у ЈаваСкрипту
Хајде да погледамо како се упоређују променљиве које садрже објекте. Две променљиве ће се сматрати једнаким, ако садрже референцу на исти објекат. Погледајмо то у пракси. Нека имамо следећу класу:
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);