JavaScript 프록시 사용

6251 단어 es6webdevjavascript
이 게시물에서는 Proxy를 사용하는 방법을 보여 드리겠습니다.

프록시의 개념은 매우 간단합니다. 개체에서 무언가를 가져오거나 설정할 때 실행되는 트리거를 제공합니다.

// private user object
const _user = {
    name: "User",
    age: 25,
    _address: "A place"
}

const traps = {
    get(target, prop) {
        if (prop[0] === "_") {
            return undefined;
        }
    }
}

const user = new Proxy(_user, traps);

console.log(user.name) // User
console.log(user.age) // 25
console.log(user._address) // undefined


위의 예에서 볼 수 있듯이 프록시는 프로그램이 개인 변수에 액세스하는 것을 중지하는 데 사용할 수 있습니다.
프로그램이 개인 변수를 설정하지 못하도록 하는 데에도 사용할 수 있습니다.

// private user object
const _user = {
    name: "User",
    age: 25,
    _address: "A place"
}

const traps = {
    get(target, prop) {
        if (prop[0] === "_") {
            return undefined;
        }
    },
    set(target, prop, value) {
        if (prop[0] === "_") {
            return;
        } else {
            target[prop] = value;
        }
    }
}

const user = new Proxy(_user, traps);

user.name = "Person";
user.age = 26;

user._address = "In the world"; // Doesn't set


프록시에 대한 자세한 내용은 MDN 에서 확인할 수 있습니다.

좋은 웹페이지 즐겨찾기