call, apply, bind를 시작하기 전에 this
2020. 8. 11. 20:55ㆍjavascript
this?
현재 메소드가 실행되는 '객체'를 지정한다고 할 수 있다.
예를 들어, 크롬 콘솔창에 아래와 같이 함수를 만들어보자.
function add(num1,num2){
console.log(this);
return num1+num2;
}
add(1,2);
//Window {...}
//3
위의 add는 전역에서 생성된 것이므로 해당 함수는 window에서 실행이된다. 이때를 '전역문맥'이라고 한다.
만약 다른 객체에 함수를 만들어 실행시킨다면 this는 변경이된다.
let obj = {
num1 : 2,
num2 : 3,
add : function(num1,num2){
console.log(this);
return num1+num2
}}
obj.add(obj.num1, obj.num2)
//{num1: 2, num2: 3, add: ƒ}
//5
this는 단순히 사용하는 것보다 call,apply,bind와 같이 쓰면 다른 객체의 기능을 빌려쓰는 방법을 가질 수 있다.
'javascript' 카테고리의 다른 글
call, apply, bind (2) - apply (0) | 2020.08.28 |
---|---|
call, apply, bind (1) - call (0) | 2020.08.22 |
Callback function (0) | 2020.08.11 |
Javascript - ES6 Class & super (0) | 2020.07.30 |
Javascript - Object Oriented Programming(OOP) (0) | 2020.07.29 |