Sammenligning av objekter i OOP i JavaScript

La oss se på hvordan variabler som inneholder objekter sammenlignes. To variabler vil bli ansett som like hvis de inneholder en referanse til det samme objektet. La oss se på det i praksis. La oss si at vi har følgende klasse:

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

La oss opprette to objekter av denne klassen:

javascriptlet user1 = new User('1');
let user2 = new User('2');

La oss sammenligne variabler som inneholder referanse til det samme objektet:

javascriptconsole.log(user1 === user1); // true

La oss nå sammenligne variabler som inneholder referanse til forskjellige objekter:

javascriptconsole.log(user1 === user2); // false
Задание 1

Fortell hva resultatet av sammenligningen i følgende kode vil være:

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

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

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

Fortell hva resultatet av sammenligningen i følgende kode vil være:

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

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

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

Fortell hva resultatet av sammenligningen i følgende kode vil være:

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

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

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

Fortell hva resultatet av sammenligningen i følgende kode vil være:

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

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

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

Fortell hva resultatet av sammenligningen i følgende kode vil være:

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

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

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

Fortell hva resultatet av sammenligningen i følgende kode vil være:

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

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

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

Fortell hva resultatet av sammenligningen i følgende kode vil være:

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

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

console.log(emp1 === emp2);