Krahasimi i objekteve në OOP në JavaScript

Le të shohim se si krahasohen ndryshoret që përmbajnë objekte. Dy ndryshore do të konsiderohen të barabarta, nëse ato përmbajnë një referencë për të njëjtin objekt. Le ta shohim në praktikë. Le të kemi klasën e mëposhtme:

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

Le të krijojmë dy objekte të kësaj klase:

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

Le të krahasojmë ndryshoret që përmbajnë referencë për të njëjtin objekt:

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

Tani le të krahasojmë ndryshoret, që përmbajnë referencë për objekte të ndryshëm:

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

Tregoni, cili do të jetë rezultati i krahasimit në kodin e mëposhtëm:

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

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

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

Tregoni, cili do të jetë rezultati i krahasimit në kodin e mëposhtëm:

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

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

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

Tregoni, cili do të jetë rezultati i krahasimit në kodin e mëposhtëm:

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

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

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

Tregoni, cili do të jetë rezultati i krahasimit në kodin e mëposhtëm:

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

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

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

Tregoni, cili do të jetë rezultati i krahasimit në kodin e mëposhtëm:

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

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

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

Tregoni, cili do të jetë rezultati i krahasimit në kodin e mëposhtëm:

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

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

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

Tregoni, cili do të jetë rezultati i krahasimit në kodin e mëposhtëm:

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

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

console.log(emp1 === emp2);