client
js call, apply, bind
void
2020. 2. 11. 10:00
call, apply 는 선언한 함수를 호출하는 방법 중에 하나이다.
apply, call 함수는 내부의 this를 바꾸는 역할을 한다.
var example = function (a, b, c) {
return a + b + c;
};
example(1, 2, 3); // 주로 쓰는 함수 호출법
example.call(null, 1, 2, 3); // null은 this 자리이다.
example.apply(null, [1, 2, 3]); // this는 기본적으로 window라고 했었죠.
//call, apply, bind에서 첫 번째 인자로 다른 것을 넣어주는 게 this를 바꾸는 방법 중 하나이다.
// bind 함수는 this를 바꾸는 역할을 하는데, 호출까지는 하지 않는다.
var yell2 = obj.yell.bind(obj2);
yell2(); // 'what?'
출처 : https://www.zerocho.com/category/JavaScript/post/57433645a48729787807c3fd
apply, call 함수는 내부의 this를 바꾸는 역할을 한다.
그래서 유사배열에서 배열의 메서드를 사용하기위해 call,apply, bind 메서드를 사용하여 . 배열 프로토타입에서 배열 메서드를 빌려온다.