call과 apply는 함수 호출시 this 가 가르켜야할 주체를 명시 할 수 있습니다.
const foo= {
value:1,
addValue:function(n1,n2){
this.value += (n1+n2)
}
}
const bar = {
value:10
}
person.addAge.apply(bar, [1,3]); // 14
person.addAge.call(bar,10) // 20
위와 같이 foo 객체에 소속된 addAge를 사용할때 this.에 해당하는 주체를 bar로 변경시켜준것입니다.
call과 apply의 차이점은 두번째 인수로 arguments 배열을 넘겨준다는 것이다. 가변인수를 사용할때 사용하면 됩니다.
bind는 함수를 객체에 바인딩 할 때 씁니다.
const monkey={
age:3,
addAge:function(a){
this.age += a // 15
monkey.age -= a // 5
},
}
function test(){
console.log(this.age)
}
const testbind = test.bind(monkey)
testbind()
binding된 함수를 변수에 할당하여 사용합니다.
간단하게 참고용으로 정리를 해보았습니다.
'Javascript' 카테고리의 다른 글
Data Structure(자료구조) 란? (0) | 2021.03.23 |
---|---|
iframe 정보를 부모 페이지로 전송하는 방법 postMessage (0) | 2021.03.23 |
javascript 뒤로가기 차단 레이어 팝업 닫기 처리 (0) | 2021.03.23 |
javascript 전개연산자 (spread operator)을 이용한 객체 복사 (0) | 2021.03.23 |
javascript 비디오 재생 여부 확인 방법 (0) | 2021.03.12 |
개의 댓글