다른 코드(ex. map)의 인자로 넘겨주는 함수
ex)
Array.prototype.map(callback, thisArg)
callback : function(currentValue, index, array)
콜백 함수에 별도의 this가 될 대상을 지정한 경우에는 그 대상을 참조하게 된다
(예외 : 함수가 화살표함수 일때 this는 없다)
ex)
setTimeout 함수는 콜백함수를 받으나 따로 this를 지정하는 것이 없어
var obj1 = {
name:'obj1',
func : function(){
var self = this;
return function(){
console.log(self.name);
};
}
};
var callback = obj1.func();
setTimeout(callback,1000);
var obj1 = {
name:'obj1',
func : function(){
console.log(obj1.name);
}
};
var obj3 = {name : 'obj3'};
var callback3 = obj1.func.bind(obj3);
setTimeout(callback3,2000);
call/apply는 해당 메소드 실행시 바로 적용되기 때문에 setTimeout함수와는 맞지 않다고 생각함