JavaScript 객체 지향 프로그래밍에서 객체 비교
객체를 포함하는 변수를 어떻게 비교하는지 살펴보겠습니다. 두 변수는 동일한 객체에 대한 참조를 포함할 경우 동일한 것으로 간주됩니다. 실제 예를 통해 확인해 보겠습니다. 다음과 같은 클래스가 있다고 가정해 봅시다:
class User {
constructor(name) {
this.name = name;
}
}
이 클래스의 두 객체를 생성하겠습니다:
let user1 = new User('1');
let user2 = new User('2');
동일한 객체에 대한 참조를 포함하는 변수를 비교하겠습니다:
console.log(user1 === user1); // true
이제 서로 다른 객체에 대한 참조를 포함하는 변수를 비교하겠습니다:
console.log(user1 === user2); // false
다음 코드에서 비교 결과가 어떻게 될지 설명하세요:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp2);
다음 코드에서 비교 결과가 어떻게 될지 설명하세요:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 === emp1);
다음 코드에서 비교 결과가 어떻게 될지 설명하세요:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('john');
console.log(emp1 === emp2);
다음 코드에서 비교 결과가 어떻게 될지 설명하세요:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp1);
다음 코드에서 비교 결과가 어떻게 될지 설명하세요:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
console.log(emp1 === emp2);
다음 코드에서 비교 결과가 어떻게 될지 설명하세요:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = new Employee('eric');
console.log(emp1 !== emp2);
다음 코드에서 비교 결과가 어떻게 될지 설명하세요:
class Employee {
constructor(name) {
this.name = name;
}
}
let emp1 = new Employee('john');
let emp2 = emp1;
emp2.name = 'eric';
console.log(emp1 === emp2);