Муқоисаи объектҳо дар ООП дар 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);