티스토리 뷰
JavaScript에서 new
를 쓰지 않고 생성자 함수를 사용할 경우 에러가 발생할 수 있다. 이를 방지하기 위해 다음과 같은 코딩이 널리 사용된다고 한다.
function A(arg) {
if (!(this instanceof arguments.callee)) {
return new A(arg);
}
// ...
}
new 생성자 함수()
를 사용하면, 함수 내에서 this는 새로 생성한 객체를 의미한다.
하지만 new를 쓰지 않고 생성자 함수()
를 사용할 경우, 함수 내에서 this가 window를 가리키며, return 값이 없을 경우 undefined를 반환하기 때문에 에러가 발생할 수 있다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday