Proxy 란 대리자라는 뜻으로 뭔가를 대리해주는 객체를 뜻한다.
es6에서의 Proxy 는 기본작업, 속성조회, 할당, 삭제, 열거 등등의 행위를 할때
사용자가 정의한 동작을 적용하도록 할 수 있는 객체이다.
const userObj ={
name : "gildong",
age : 33,
password : "1234"
}
const userFilter = {
get:(target, prop, receiver) =>{
return prop === "password" ? `${"*".repeat(5)}` : target[prop];
},
set : (target, prop, value) =>{
if(prop != "password"){
target[prop] = value;
}
else{
alert("변경 불가");
}
},
deleteProperty : (target, prop) => {
if(prop === "password"){
return;
}
else{
target[prop] = "Deleted";
}
}
}
const filteredUser = new Proxy(userObj, userFilter);