https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Proxy
Proxy - JavaScript | MDN
Proxy 객체를 사용하면 한 객체에 대한 기본 작업을 가로채고 재정의하는 프록시를 만들 수 있습니다.
developer.mozilla.org
https://ko.javascript.info/proxy
Proxy와 Reflect
ko.javascript.info
Proxy란?
특정 객체에 대한 가로채기 동작을 제공하는 내장 객체
객체의 동작을 수정하거나 전달함
프록시 생성
const proxy = new Proxy(target, handler)
Proxy get & set 예제
let target = {
greeting: "안녕하세요",
};
const proxy = new Proxy(target, {
get(target, property) {
console.log(target, property);
return "안녕";
},
set(target, property, value) {
console.log(target, property, value);
target[property] = value + value;
},
});
console.log(proxy.greeting); // 안녕
proxy.welcome = "환영";
console.log(proxy); // { greeting: '안녕하세요', welcome: '환영환영' }
Proxy 장점
객체의 동작을 커스텀할 수 있고, 가상 프로퍼티를 생성할 수 있음, 함수 동작 재정의 가능
-> 코드의 유연성과 재사용성을 향상시킬 수 있음
728x90