this
- 함수를 선언하고 this를 넣고 비교
- 함수 실행 시 호출 방법에 의해 결정되는 특별한 객체
- 함수 실행 시 결정되므로, 실행되는 맥락에 따라 this가 결정
bind
-
묶다, 연결하다
-
함수를 호출한 것을 연결
-
.bind는 .call과 유사하게 this 및 인자를 바인딩하나, 당장 실행하는 것이 아닌 바인딩된 함수를 리턴하는 함수
-
첫번째 인자는 this, 두번째 인자부터는 필요한 파라미터를 전달
this는 다섯가지 바인딩 패턴이 존재
Global | window | 콘솔에서 this를 조회할 때 출력되는 값 (흔히 사용되지 않음) |
Function 호출 | window | Function 호출시 this를 사용할 이유는 없음 (흔히 사용되지 않음) |
Method 호출 | 부모 객체 (실행 시점에 온점 왼쪽에 있는 객체) | 하나의 객체에 값과 연관된 메소드를 묶어서 사용할 때 주로 사용함 |
new 키워드를 이용한 생성자 호출 | 새롭게 생성된 인스턴스 객체 | 객체 지향 프로그래밍에서 주로 사용함 |
.call 또는 .apply 호출 | 첫번째 인자로 전달된 객체 | this 값을 특정할 때 사용하며, 특히 apply의 경우 배열의 엘리먼트를 풀어서 인자로 넘기고자 할 때 유용함 |
자료 출처 : 코드스테이츠
'CodeStates > └ JavaScript(Im)' 카테고리의 다른 글
CommonJS (0) | 2020.08.18 |
---|---|
Asynchronous JavaScript (0) | 2020.08.10 |
Prototype chain (0) | 2020.08.02 |
OOP (2) | 2020.07.29 |
arrow function (0) | 2020.07.22 |
댓글