this
this는 함수 실행시 호출(invocation) 방법에 의해 결정되는 특별한 객체입니다. 함수 실행시 결정되므로, 실행되는 맥락(execution context)에 따라 this가 다르게 결정됩니다.
this 5가지 바인딩 패턴
- Global: window // 전역객체
- function 호출 :window // 함수 내부에서의 this
- Method호출: 부모 obj // 객체 내부에서의 this
- construction mode // instance로서의 this
- .call, .apply, .bind // 함수 메소드로서의 this
함수를 호출하는 2가지 방법
- 함수 이름 뒤에 () 를 사용해 호출하는 방법
- 함수.call/apply/bind
함수는 함수 객체다. 객체는 (변수)프로퍼티와 함수형태인 프로퍼티를 갖는데 여기서 함수인 프로퍼티를 메서드라고 부른다