6.8 call과 apply, bind
1) call
call 메서드는 모든 함수에서 사용할 수 있음
this를 특정 값으로 지정할 수 있음
일반적인 함수와 마찬가지로 매개변수를 직접 받음
const bruce = { name: "Bruce" };
const madeline = { name: "Madeline" };
function greet() {
return "Hello, I'm " + this.name;
}
console.log(greet()); // Hello, I'm
console.log(greet.call(bruce)); // Hello, I'm Bruce
console.log(greet.call(madeline)); // Hello, I'm, Madeline
2) apply
매개변수를 배열로 받음
const arr2 = [ 2, 3, -5, 15, 7 ];
console.log(Math.min.apply(null, arr2)); // -5
console.log(Math.max.apply(null, arr2)); // 15
3) bind
함수의 this 값을 영구히 바꿀 수 있음
따라서 찾기 어려운 버그의 원인이 될 수 있음
Last updated