본문 바로가기

javascript

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

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


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


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



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


출처 -> Functional Javascript 책입니다.