Choose a default theme

You can change your theme from the menu

JavaScript Proxy

Proxy는 JavaScript 객체의 속성 읽기·쓰기 같은 기본 동작을 가로채어 정의할 수 있는 기능이다.

원리

대상 객체와 handler를 연결하고 get이나 set 같은 트랩으로 동작을 조정한다. Reflect를 이용해 원래 의미의 연산을 위임할 수 있다.

예시

설정 객체에 값을 쓸 때 범위를 검증하거나 속성을 읽은 사실을 추적하는 도구를 만들 수 있다. 프록시를 통해 접근한 경우에 동작이 적용된다.

주의할 점

객체가 지켜야 하는 불변 조건을 어기면 오류가 날 수 있다. 모든 내장 객체와 투명하게 호환되는 것은 아니며 원본 참조로 접근하면 트랩을 거치지 않을 수 있다.

참고 자료