this 바인딩은 언제됨?

= 실행 컨텍스트가 생성(활성화)될 때

⬇️

실행 컨텍스트는 언제 생성(활성화)됨?

= 함수가 호출될 때

⬇️

즉, this 바인딩은 함수가 호출될 때 결정됨

<aside> 💡 함수를 어떤 식으로 호출했는지 에 따라 this 바인딩이 달라짐!

</aside>

1. 전역공간에서 호출됐을때 : window / global

2. 함수를 함수로써 호출했을 때 : window / global

3. 함수를 메서드로 호출했을 때 : 메서드를 호출한 주체

4. 함수를 콜백함수로 넘겼을 때 : 기본적으로는 함수내부에서와 동일

5. 함수를 생성자 함수로 호출했을 때 : 인스턴스