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
를 통해 가로채고 제어할 수 있습니다. 이를 통해 객체 작업을 필요한 대로 수정, 검증, 또는 확장할 수 있습니다.