함수 두 개로 동일한 객체 만들기
중요도: 2
new A()==new B()
가 성립 가능한 함수 A
와 B
를 만드는 게 가능할까요?
function A() { ... }
function B() { ... }
let a = new A;
let b = new B;
alert( a == b ); // true
만약 가능하다면, 실행 가능한 예시를 작성해 보세요.
네, 가능합니다.
두 함수 모두 this
대신에 객체를 반환하게 하면 됩니다.
아래 예시에선 함수 외부에서 정의한 객체 obj
를 반환하도록 했습니다.
let obj = {};
function A() { return obj; }
function B() { return obj; }
alert( new A() == new B() ); // true