call, apply, bind

mangojang·2022년 3월 31일
0

본 글은 글쓴이가 꺼내보기 위함의 목적이 큰 글입니다 :)

함수의 this를 binding 해주는 메소드 : call, apply, bind

function.call( this target, argument)

  • this target 을 this로 변경하고, 함수 실행

function.apply( this target, [argument])

  • this target 을 this로 변경하고, 함수 실행
  • call 과의 차이점은 argument 가 배열로 들어감.

function.bind( this target)

  • this target 을 this로 변경하고, 끝. 함수 실행은 안함.

사용패턴

const mangojang = {name: 'mangojang'};

const sayName = function(fruit){
	console.log(`my name is ${this.name}. I like ${fruit}`);
} 

sayName("mango"); // my name is . I like mango
const setThis = sayName.bind(mangojang);
setThis("mango"); // my name is mangojang. I like mango
sayName.call(mangojang,"mango"); // my name is mangojang. I like mango
sayName.apply(mangojang,["mango"]); // my name is mangojang. I like mango

참고문헌

https://wooooooak.github.io/javascript/2018/12/08/call,apply,bind/

https://www.zerocho.com/category/JavaScript/post/57433645a48729787807c3fd

profile
한 손에 캘리포니아 오렌지를 쥐고

0개의 댓글