Параўнанне аб'ектаў у ААП у 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);