Jämförelse av objekt i OOP i JavaScript
Låt oss titta på hur variabler som innehåller objekt jämförs. Två variabler anses vara lika om de innehåller en referens till samma objekt. Låt oss se i praktiken. Anta att vi har följande klass:
class User {
constructor(name) {
this.name = name;
}
}
Låt oss skapa två objekt av denna klass:
let user1 = new User('1');
let user2 = new User('2');
Låt oss jämföra variabler som innehåller en referens till samma objekt:
console.log(user1 === user1); // true
Och nu jämför vi variabler som innehåller en referens till olika objekt:
console.log(user1 === user2); // false
Berätta vad resultatet av jämförelsen i följande kod blir:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
Berätta vad resultatet av jämförelsen i följande kod blir:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
Berätta vad resultatet av jämförelsen i följande kod blir:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
Berätta vad resultatet av jämförelsen i följande kod blir:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
Berätta vad resultatet av jämförelsen i följande kod blir:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
Berätta vad resultatet av jämförelsen i följande kod blir:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
Berätta vad resultatet av jämförelsen i följande kod blir:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);