JS-proxy&defineproperty
| topics | 200-프론트개발 |
| types | 이론 |
| tags |
Proxy vs Object.defineProperty
proxy란...
Proxy는 특정 "객체"를 감싸 프로퍼티 읽기, 쓰기와 같은 객체에 가해지는 작업을 중간에서 가로채는 객체로, 가로채진 작업은 Proxy 자체에서 처리되기도 하고, 원래 객체가 처리하도록 그대로 전달되기도 합니다.
defineproperty란..
object의 getter,setter을 다시 설정할수 있는 메서드이다..
비교 요약
| 특성 | Object.defineProperty |
Proxy |
|---|---|---|
| 지원 버전 | ES5 | ES6 |
| 적용 대상 | 특정 속성 | 전체 객체 |
| 중첩된 객체 지원 | 재귀적으로 설정 필요 | 중첩된 객체에 대해 일괄 적용 가능 |
| 유연성 | 제한적 | 매우 유연 |
| 성능 | 속성마다 별도로 설정 | 모든 속성 접근/변경 가로채기 가능 |
| 호환성 | 오래된 브라우저 지원 | 오래된 브라우저 미지원 |
proxy는 속성의 삭제,권한등의 속성도 감지할 뿐만아니라 중첩된 객체에 대해서도 깊은 객체를 지원한다.