call, apply, bind (2) - apply

2020. 8. 28. 15:57javascript

apply와 call이 다른 것은 딱 하나이다. this를 바꾸는 것은 맞지만, 배열로 받느냐 아니냐의 차이로 apply를 쓰느냐 마느냐로 나뉜다.

call과 예시가 비슷하지만, 배열만 다르게 하면 된다. 바꿔보고 싶으면 앞선 call을 설명한 페이지에서 받는 인자를 배열로 바꿔보면 된다.

여기서는 간단한 예시로만 표현하겠다.

 

function add(num1,num2){
	return num1+num2
}

add.call(null,1,2); //3
add.apply(null,[1,2]) //3

 

단, 배열뿐만 아니라 객체에서도 사용할 수 있다는 점도 특징이다.

 

let introduce = {
	myself : function (){
    	return `hello my name is ${this.first_name} ${this.last_name}`;
    }
}

let person = {first_name : kim, last_name : min}

introduce.myself.apply(person); // 'hello my name is kim min'

'javascript' 카테고리의 다른 글

Closure 란?  (0) 2020.09.05
call, apply, bind (3) - bind  (0) 2020.08.30
call, apply, bind (1) - call  (0) 2020.08.22
call, apply, bind를 시작하기 전에 this  (0) 2020.08.11
Callback function  (0) 2020.08.11