오깨들

  • Reflection: 런타임 시점에 사용되는 자신의 구조와 행위를 관리하고 수정할 수 있는 프로세스
  • Reflect
    • JavaScript에서도 Reflect를 통해 런타임 시점에 객체의 구조와 행위를 관리한다는 의도를 표현할 수 있다.

      const directName = user.name;
      const reflectedName = Reflect.get(user, "name");
      
    • 프록시 트랩에서는 대응하는 Reflect 메서드를 사용할 수 있다.

      const proxy = new Proxy(user, {
        get(target, property, receiver) {
          console.log("조회:", property);
      
          return Reflect.get(target, property, receiver);
        },
      
        set(target, property, value, receiver) {
          console.log("변경:", property);
      
          return Reflect.set(target, property, value, receiver);
        },
      });