흔히(java에서) 클래스 내에서 사용하는 this 문법은 클래스(자세히는 인스턴스화 된 객체) 자기 자신을 뜻합니다.
javascript에서도 this문법이 존재하는데, 하필 'java' script라는 비슷한 이름에, this가 존재하니 클래스 내 this처럼 동작을 할 것 같은 오해를 불러일으킵니다.
this의 첫번째 동작 방식은, this가 전역 객체(window)를 context 객체로 갖는 것 입니다.
-> console.log(this) 해보기
어떤 객체를 통해 함수가 호출된다면 그 객체가 바로 this의 context 객체가 됩니다.
함수(함수 객체)는 call, apply, bind 메소드를 가지고 있는데, 첫번째 인자로 넘겨주는 것이 this context 객체가 됩니다.
new 바인딩의 동작순서를 글로 표현하면 아래와 같습니다.