✍️ 자바스크립트 디자인 패턴에 대해 공부하다가 함수 상속과 관련하여 call, apply, bind를 접하게 되었다. 유사 배열 사용 시에도 유용하게 쓰이는 call, apply, bind에 대해 정리 해보았다.
▶️ 함수의 this를 지정해주는 메소드
function.call( thisArg, argument)
thisArg
: function 에 제공되는 this 값function.apply( thisArg, [argument])
thisArg
: function 에 제공되는 this 값function.bind( thisArg )
thisArg
: function 에 제공되는 this 값const mangojang = {name: 'mangojang'};
const monkey = {name: 'monkey'};
const panda = {name: 'panda'};
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(monkey,"banana"); // my name is monkey. I like banana
sayName.apply(panda,["bamboo"]); // my name is panda. I like bamboo, apple, banana