가능한 중복 : 그것은이 새로운 인스턴스를 생성하기 위해 호출 않다면
How to detect if a function is called as constructor?JavaScript 함수가 정상적으로 호출되었는지 또는 "new"와 함께 호출되었는지를 알 수있는 방법이 있습니까?
나는 그것이 정상이라고하면 다르게 작동 자바 스크립트의 기능이 좋아하거나 것입니다. 두 가지 기능이 관련되거나 관련되지 않을 수있는 다양한 용도가있을 수 있습니다.
function MyClass(arg1, arg2) {
if(/* not called with "new" */) return new MyClass(arg1, arg2);
// instance initialization stuff here...
}
내가 var x = new MyClass(arg1, arg2)
를 입력 할 필요가 없습니다 것입니다이 방법 : : 함수가 항상 새로운 인스턴스를 생성하는 데 사용하는 경우 하나 개의 사용은 new
를 입력 할 필요가 코더를 면제하는 것입니다 var x = MyClass(arg1, arg2)
를 입력하기에 충분 것 (그러나 전자는 틀리지 않을 것이다).
가능한 한 가지 예입니다.
이 작업을 수행 할 수 있습니까? 그렇다면 어떻게?
중복이 누락 된 것에 대해 사과드립니다. "constructor"키워드를 찾아 보았습니다. 답변 해 주셔서 감사합니다! – Tom