Օբյեկտների համեմատում OOP-ում 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
Задание 1

Պատմեք, թե ինչ կլինի համեմատության արդյունքը հետևյալ կոդում՝

javascriptclass Employee {
  constructor(name) {
    this.name = name;
  }
}

let emp1 = new Employee('john');
let emp2 = new Employee('eric');

console.log(emp1 === emp2);
Задание 2

Պատմեք, թե ինչ կլինի համեմատության արդյունքը հետևյալ կոդում՝

javascriptclass Employee {
  constructor(name) {
    this.name = name;
  }
}

let emp1 = new Employee('john');
let emp2 = new Employee('eric');

console.log(emp1 === emp1);
Задание 3

Պատմեք, թե ինչ կլինի համեմատության արդյունքը հետևյալ կոդում՝

javascriptclass Employee {
  constructor(name) {
    this.name = name;
  }
}

let emp1 = new Employee('john');
let emp2 = new Employee('john');

console.log(emp1 === emp2);
Задание 4

Պատմեք, թե ինչ կլինի համեմատության արդյունքը հետևյալ կոդում՝

javascriptclass Employee {
  constructor(name) {
    this.name = name;
  }
}

let emp1 = new Employee('john');
let emp2 = new Employee('eric');

console.log(emp1 !== emp1);
Задание 5

Պատմեք, թե ինչ կլինի համեմատության արդյունքը հետևյալ կոդում՝

javascriptclass Employee {
  constructor(name) {
    this.name = name;
  }
}

let emp1 = new Employee('john');
let emp2 = emp1;

console.log(emp1 === emp2);
Задание 6

Պատմեք, թե ինչ կլինի համեմատության արդյունքը հետևյալ կոդում՝

javascriptclass Employee {
  constructor(name) {
    this.name = name;
  }
}

let emp1 = new Employee('john');
let emp2 = new Employee('eric');

console.log(emp1 !== emp2);
Задание 7

Պատմեք, թե ինչ կլինի համեմատության արդյունքը հետևյալ կոդում՝

javascriptclass Employee {
  constructor(name) {
    this.name = name;
  }
}

let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';

console.log(emp1 === emp2);