javascript

자바스크립트에서는 this의 동적인 특성을 이용한 메타프로그래밍

우혁이 아빠 2014. 4. 10. 11:21

메타프로그래밍은 코드가 어떤 동작을 하도록 구현하는 것을 프로그래밍이라고 한다면 어떤 것이 해석되는 방식을 바꾸도록 코드를 구현하는 것이다.


자바스크립트에서는 this의 동적인 특성을 이용해서 메타프로그래밍을 할 수 있다.


Function.call 메서드로 Point2D 생성자를 이용해서 새로운 Point3D 형식을 만들수 있다.



Point3D는 명시적으로 this._x와 this._y를 설정한 적이 없지만 Point2D를 호출할 때 this를 동적으로 바인딩함으로써 자신의 프로퍼티 생성 코드에서 대상을 바꿀 수 있다.


출처 -> Functional Javascript 책입니다.