Vergleich von Objekten in der OOP in JavaScript

Schauen wir uns an, wie Variablen, die Objekte enthalten, verglichen werden. Zwei Variablen werden als gleich betrachtet, wenn sie eine Referenz auf dasselbe Objekt enthalten. Sehen wir uns das in der Praxis an. Nehmen wir an, wir haben die folgende Klasse:

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

Erstellen wir zwei Objekte dieser Klasse:

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

Vergleichen wir Variablen, die eine Referenz auf dasselbe Objekt enthalten:

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

Vergleichen wir nun Variablen, die eine Referenz auf verschiedene Objekte enthalten:

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

Erklären Sie, welches Ergebnis des Vergleichs im folgenden Code sein wird:

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

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

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

Erklären Sie, welches Ergebnis des Vergleichs im folgenden Code sein wird:

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

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

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

Erklären Sie, welches Ergebnis des Vergleichs im folgenden Code sein wird:

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

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

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

Erklären Sie, welches Ergebnis des Vergleichs im folgenden Code sein wird:

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

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

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

Erklären Sie, welches Ergebnis des Vergleichs im folgenden Code sein wird:

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

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

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

Erklären Sie, welches Ergebnis des Vergleichs im folgenden Code sein wird:

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

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

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

Erklären Sie, welches Ergebnis des Vergleichs im folgenden Code sein wird:

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

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

console.log(emp1 === emp2);