함수 두 개로 동일한 객체 만들기
중요도: 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