2020-11-30

js Proxy & Reflect (like observer)

js Proxy & Reflect (like observer)

MDN Proxy / MDN Reflect

proxy 와 reflect는 동일하게 동작하지만
reflect로 정의된 객체를 proxy로 재정의하여
동작을 할당한다고 보면 될것으로 생각됨

아래와 같은 관계로 재정의 되지않은 기본동작 정의

new Proxy(obj, {
  get: Reflect.get,
});

정리

MDN handler

var 대상Object = {} ;
var hander = new handler(....참조);
var obj = new Proxy(대상Object,  handler);

handler props

get
prop 값 호출시

get: function (대상_object,대상_prop_명) {}

set
prop 값 설정시

set: function (대상_object, 대상_prop_명, 설정값) {}

deleteProperty
prop delete시

deleteProperty: function (대상_object, 대상_prop_명) {}

ownKeys
Object.keys(대상obj) 호출시

ownKeys: function (object_내부의_모든_props) {}

has
prop 조회시

has: function (대상_object, 찾을_prop_명) {}

defineProperty
prop 조회시

defineProperty: function (대상_object, 추가된_prop_명, 정의된_값의_속성) {}

getOwnPropertyDescriptor
설명 요청시

getOwnPropertyDescriptor: function (대상_object, 설명을_검색할_prop_명) {}

Written with StackEdit.