생성자 함수의 메쏘드를 바로 호출하는 방법
September 3, 2014
보통 new
생성자를 이용하여 생성한 객체의 메쏘드를 이용할 때는 다음과 같은 절차가 일반적이다.
new
생성자를 이용하여 객체를 생성한 후 변수에 담는다.- 다음 변수에서 객체의 메쏘드를 호출한다.
근데 다음의 코드도 같은 값을 반환한다.
Date
자체는 함수이므로 메쏘드에 바로 접근 할 수 없고 new Date()
는 객체를 생성하지만 변수에 할당하기 전에는 메쏘드에 접근할 수 없다. 특이하게도 ()
로 감싸게 되면 바로 접근이 가능한데 이렇게 동작하는 이유는 잘 모르겠다. 어쩌면 즉시 실행 함수에 객체가 포함된 모양이니까 ({})
식의 표현이 this
이지 않을까 생각해본다.
java
의 경우 new Date()
보다는 (new Date)
를 권장하는데 전자의 경우 쓸대없는 가비지를 만들어 낸다는 이유다.