반응형
this
자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기참조 변수
함수 호출시 arguments객체와 this가 암묵적으로 함수 내부에 전달됨
this바인딩
호출시에 동적으로 결정됨
strict 모드도 영향을 미침
함수 호출방식과 this바인딩
함수의 상위스코프를 결정하는 방식인 렉시컬 스코프는 함수 정의가 평가되는 시점에 상위스코프를 결정한다. 하지만 this바인딩은 함수 호출 시점에 결정한다.
1. 일반함수 호출
this에 전역객체가 바인딩된다.
이는 중첩함수와 콜백함수도 마찬가지이다.
2. 메서드 호출
메서드 내부의 this는 메서드를 호출한 객체에 바인딩된다.
3. 생성자 함수 호출
생성자 함수 내부의 this에는 생성자 함수가 생성할 인스턴스가 바인딩된다.
Function.prototype.apply, call, bind메서드
apply와 call은 모두 인자로 this로 사용할 객체를 입력받는다.
apply는 이후의 인자를 배열형태로 받고,
call은 이후 인자를 콤마로 구분하여 입력받는다.
반응형