this란?
- this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수
- this는 코드 어디서든 참조 가능
- 일반적으로 객체의 메서드 내부 또는 생성자 함수 내부에서만 의미가 있음
- 함수를 호출하면 인자와 this가 암무적으로 함수 내부에 전달
바인딩이란?
- 식별자와 값을 연결하는 과정
- 변수선언은 변수 이름과 확보된 메모리 공간의 주소를 바인딩
- this바인딩은 this와 this가 가리킬 객체를 바인딩
this를 전역에서 사용한 경우
- this는 항상 window라는 전역 객체를 참조
- 모든 변수, 함수는 window라는 객체의 프로퍼티와 메소드
this를 함수 내부에서 사용한 경우
- 함수는 전역에 선언된 일반 함수와 객체 안에 메소드로 구분
- 객체 안에 선언된 함수를 전역에 선언된 함수와 구분하기 위해 메소드라 함
- 전역 함수도 결국 window의 메소드
- 즉, 모든 함수는 객체 내부에 존재
- 이때 this는 현재 함수를 실행하고 있는 그 객체를 참조
출처 - https://hanamon.kr