Kulinganisha Vitu katika OOP katika JavaScript

Wacha tuangalie jinsi vinavyolinganishwa vigezo vyenye vitu. Vigezo viwita vitachukuliwa kuwa sawa, kama vyenye kiungo kwa kitu kimoja na kile kitu. Wacha tuangalie kwa vitendo. Hebu tuchukue kuwa tuna darasa lifuatalo:

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

Wacha tuunde vitu viwili vya darasa hili:

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

Wacha tulinganishe vigezo, vyenye kiungo kwa kitu kimoja:

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

Sasa tulinganishe vigezo, vyenye viungo kwa vitu tofauti:

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

Eleza, matokeo yatakuwa nini katika kulinganisha kwenye mfumo ufuatao wa code:

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

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

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

Eleza, matokeo yatakuwa nini katika kulinganisha kwenye mfumo ufuatao wa code:

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

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

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

Eleza, matokeo yatakuwa nini katika kulinganisha kwenye mfumo ufuatao wa code:

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

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

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

Eleza, matokeo yatakuwa nini katika kulinganisha kwenye mfumo ufuatao wa code:

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

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

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

Eleza, matokeo yatakuwa nini katika kulinganisha kwenye mfumo ufuatao wa code:

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

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

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

Eleza, matokeo yatakuwa nini katika kulinganisha kwenye mfumo ufuatao wa code:

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

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

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

Eleza, matokeo yatakuwa nini katika kulinganisha kwenye mfumo ufuatao wa code:

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

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

console.log(emp1 === emp2);