[Javascript] instance of, arguments, callee, this, new
2020. 12. 16.
자바스크립트는 알면 알수록 무시무시한 함수입니다. 여러분 빨리 도망치세요..! function a() { if ( !(this instanceof arguments.callee) ) { return new a() ; /* blah blah... */ } 위 구문은 어떤 것을 의미할까? 하나하나씩 보자. function function 도 하나의 객체이다. 거기에 추가적으로 arguments, caller, length, name 처럼 function 고유의 property가 함께 빌트인 되어있다. 당연히 Object는 function 이 아니다. Object가 더 큰 집합이다. this, new this : 함수의 호출자를 가리킨다. = 함수의 호출자와 바인딩 된다. 즉시실행함수와 같이 앞에 호출자가 없..