-
this 바인딩Front-end/Javascript 2021. 3. 23. 22:17
[ this ]
- 기본적으로 this는 winodw(전역객체)를 가리킨다. 전역공간에서 전역 컨텍스트를 생성하는 주체가 전역 객체이기 때문이다.
- 어떤 함수를 메서드로서 호출한 경우 this는 메서드 호출 주체를 참조한다.
- 어떤 함수를 함수로서 호출한 경우 this는 전역객체를 참조한다.
-콜백함수 내부에서의 this는 해당 콜백 함수의 제어권을 넘겨받은 함수가 정의한 바에 따르며, 정의하지 않은 경우에는 전역객체를 참조한다.
-생성자 함수에서의 this는 생성될 인스턴스를 참조한다.
[ this에 별도의 대상을 바인딩하는 방법 ]
* call
Function.prototype.call(thisArg[, arg1[, arg2[, ...]]]) : 첫번째 인자를 this로 바인딩하고 이후 인자들을 매개변수로 사용
call 메서드는 모든 함수에서 사용할수 있으며, call 메소드 이용시 this를 특정값으로 지정할 수 있다.
* apply
call과 실행 동작은 같지만, 두번째 인자를 배열로 받는점이 다르다.
'Front-end > Javascript' 카테고리의 다른 글
실행컨텍스트 (0) 2021.03.27 클로저(Closure) (0) 2021.03.23 자바스크립트 객체의 깊은 복사 (0) 2020.05.11 JqxGrid ) 해당 id를 가진 row의 색상을 변경해주는것이 아닌 cell하나에 색상을 적용하기. (0) 2020.05.08 JqGrid ) 특정 셀 select 옵션 나타내기 / 옵션 선택 후 보여지는 값 바꾸기 (0) 2020.05.07