더북(TheBook)

지금까지는 어드바이스가 타깃을 이렇게 호출했다.

targetInfo.fn();

 

조금 전 배운 apply 함수로 인자 배열을 넘겨 호출한다.

targetInfo.fn.apply(this, targetInfo.args);

 

새 어드바이스 argPassingAdvice는 이렇게 코딩했다(예제 2-32). targetObjargsToTaget 배열에 건네받은 인자를 보관하도록 개선했다. 타 언어 개발자는 targetObjfunction() 문에서 참조하는 인자가 하나도 없는데도 arguments 객체가 targetObj에 넘긴 인자를 내어주는 장면에 화들짝 놀라겠지만, 자바스크립트의 유연함을 잘 보여주는 실례다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.