자바스크립트 핵심 개념 : call / apply / bind 메서드 이해하기
콜백함수에서 this를 바인딩할 때 "기본적으로는 함수와 동일, 즉 전역객체(window)이다."라는 정의가 있는데 아래 세가지 메서드는 그 사실을 벗어난다. 즉, call / apply / bind는 명시적인 this 바인딩이 가능하게 나온 메서드이다. 그런 의미에서 세 가지의 차이를 확인해보자. function a(x, y, z) { console.log(this, x, y, z); } var b = { c: 'eee'}; // call a.call(b, 1, 2 ,3); // apply a.apply(b, [1,2,3]); // bind var c = a.bind(b); c(1,2,3); 처음 볼때는 이게 뭔 코드야 싶겠지만, 어떤 인자값이 오는지 확인해보면 그리 복잡한 코드가 아니다. a.call..
2020. 12. 18.