proxy를 알아보자

YOUNGJOO-YOON·2021년 4월 22일
0

JavaScript

목록 보기
1/25

TOC

  1. proxy란 ?
  2. 구현

1. proxy란?

proxy(대리)
proxy는 어떤 객체에 대해 지휘권을 뺏고 그 객체의 접근에 대한 output을 proxy 객체에 정의한 대로 return한다.

즉 기본 값은 immutability를 유지한채 값에 대한 접근을 받아낼 수 있다는 것이다.

let user = {
  firstName: "LAL",
  lastName: "RO",
};

user = new Proxy(user, {
  get(target, prop) {
    if (prop in target) {
      return target[prop];
    } else if (prop == "sayFullName") {
      return () => {
        console.log(`${target.firstName} ${target.lastName}`);
      };
    }
  },
});
console.log(user.firstName);
user.sayFullName();

result

LAL 
RO
let user = {
  firstName: "LAL",
  lastName: "RO",
};

user = new Proxy(user, {
  get(target, prop) {
    if (prop in target) {
      return target[prop];
    } else if (prop == "sayFullName") {
      return () => {
        console.log(`${target.firstName} ${target.lastName}`);
      };
    }
  },
});
console.log(user.firstName);
user.sayFullName();

Proxy객체는 첫 인자로 빼앗을 객체, 그리고 handler를 넘겨받는다

handler는 위처럼 target은 빼앗은 user 객체를 가리키고 prop은 user의 property를 가리킨다

user.firstName을 proxy객체가 target.prop으로 빼앗게 된다.


2. 구현


총총

기존 값을 전혀 건들지 않고 그 값에 대한 접근을 전부 받아줄 수 있는 것이 proxy다.

이 포스트는 youtube OnLifeCoding님의 강좌를 참고하였습니다.

profile
이 블로그의 글은 제 생각을 정리한 글과 인터넷 어딘가에서 배운 것을 정리한 글입니다. 출처는 되도록 남기도록 하겠습니다. 수정 및 건의 오류 등이 있으면 언제든지 댓글 부탁드립니다.

0개의 댓글