Vergelyking van objekte in OOP in JavaScript

Laat ons kyk hoe veranderlikes wat objekte bevat, vergelyk word. Twee veranderlikes sal as gelyk beskou word indien hulle 'n verwysing na dieselfde objek bevat. Kom ons kyk prakties. Gestel ons het die volgende klas:

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

Kom ons skep twee objekte van hierdie klas:

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

Vergelyk veranderlikes wat 'n verwysing na dieselfde objek bevat:

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

En nou vergelyk ons veranderlikes wat verwysings na verskillende objekte bevat:

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

Vertel watter resultaat die vergelyking in die volgende kode sal hê:

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

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

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

Vertel watter resultaat die vergelyking in die volgende kode sal hê:

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

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

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

Vertel watter resultaat die vergelyking in die volgende kode sal hê:

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

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

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

Vertel watter resultaat die vergelyking in die volgende kode sal hê:

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

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

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

Vertel watter resultaat die vergelyking in die volgende kode sal hê:

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

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

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

Vertel watter resultaat die vergelyking in die volgende kode sal hê:

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

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

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

Vertel watter resultaat die vergelyking in die volgende kode sal hê:

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

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

console.log(emp1 === emp2);