proxy object

agnusdei·2023년 7월 11일
0

Proxy 객체는 JavaScript에서 표준 빌트인 객체 중 하나로, 다른 객체를 감싸고 가로채는(trap) 행동을 허용하는 객체입니다. 이를 사용하여 객체에 대한 작업을 수정, 검증, 혹은 확장할 수 있습니다.

Proxy 객체는 두 개의 파라미터를 사용하여 생성됩니다:
1. target: Proxy가 감싸려는 원본 객체입니다.
2. handler: Proxy에서 가로채고자 하는 행동과 관련된 메서드를 포함하는 객체입니다.

Proxy가 가로챌 수 있는 행동들은 제어할 수 있으며, 다음과 같은 일부 사용 사례가 포함됩니다:

  • 객체의 속성에 대한 읽기 및 쓰기 작업 가로채기
  • 객체의 속성 삭제 처리
  • 객체의 속성 열거 처리

예를 들어, 객체에 대한 기본값을 정의하는 것은 다음과 같이 수행할 수 있습니다.

const target = {
  a: 1,
  b: 2,
};

const handler = {
  get(target, prop) {
    return prop in target ? target[prop] : 0;
  },
};

const proxy = new Proxy(target, handler);

console.log(proxy.a); // 1
console.log(proxy.b); // 2
console.log(proxy.c); // 0 (기본값)

이렇게 하면, 원본 객체의 속성에 대한 액세스를 handler를 통해 가로채고 제어할 수 있습니다. 이를 통해 객체 작업을 필요한 대로 수정, 검증, 또는 확장할 수 있습니다.

0개의 댓글