JavaScriptにおけるオブジェクト指向プログラミングでのオブジェクト比較
オブジェクトを含む変数がどのように比較されるかを見てみましょう。 2つの変数は、同じオブジェクトへの参照を含んでいる場合に等しいと見なされます。 実際に見てみましょう。 次のクラスがあるとします:
class User {
constructor(name) {
this.name = name;
}
}
このクラスの2つのオブジェクトを作成しましょう:
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);