반응형
전편에서 this는 '함수의 invocation(호출)을 위한 binding(바인딩)이며, 이는 call-site(함수를 호출한
위치)에 근거한다.' 라고 정의하였다.
2020/02/13 - [javascript&Node.js] - javascript의 this는 대체 무엇인가? ①편
본격적으로 this의 바인딩의 4가지 종류에 대해 알아보자.
1) Default Binding
stand alone function invocation할 경우,
즉 global-scope(전역)에서 함수를 호출할 경우 this는 global object를 바인딩 한다.
function foo() {
console.log( this.a );
}
var a = 2;
foo(); // 2
마지막 줄 foo()함수의 호출의 장소, 즉 call-site는 global-scope이다. 따라서 foo()함수에서 this는 global object이다.
콘솔창에서 (this.a)는 global variable(전역변수) a의 값, 즉 2를 출력한다.
2) Implicit Binding
반응형
'프론트엔드 > Javascript, TS' 카테고리의 다른 글
[Javascript] 일반함수와 화살표함수의 차이점 (this의 쓰임, new 키워드, arguments 바인딩, 파라미터 중복 불가, 중괄호) (0) | 2022.01.17 |
---|---|
sort함수 사용하기 (1) | 2022.01.16 |
프론트엔드 관련 면접 예상 질문 (0) | 2022.01.15 |
자바스크립트 map 함수 쓰는 법 (1) | 2022.01.07 |
javascript의 this는 대체 무엇인가? ①편 (0) | 2020.02.13 |