NATIVE

settings_applicationsObject

NATIVE

Editing
  • account_tree
  • bug_report

ObjectProxy

다른 객체에 대한 Proxy 객체를 생성하여 해당 객체의 대행 역할을 한다.

설명

Proxy 객체는 대행할 객체의 프로퍼티를 읽고 다양한 옵션으로 재정의할 수 있다. 또한 함수의 실행을 가로채서 결과를 변경할 수도 있다. 이렇게 Proxy 객체는 해당 객체의 직접적인 역할이 아닌 변칙적인 역할이 필요한 경우에 사용될 수 있다. 일종의 래퍼 객체와 같은 역할을 한다고 볼 수 있다.

하위 트리 탐색

  • Constructor

    Proxy 객체는 생성자 함수를 지원하지만 자신의 [[Prototype]]은 존재하지 않는다.

    • Proxy()

      새로운 Proxy 객체를 생성한다.

  • Handler

    Proxy 객체를 운용하기 위해 사용되는 대상 객체를 핸들링하기 위한 객체의 구성 멤버를 나타낸다.

    • Methods

      필요에 따라 다음의 메소드로 구성된 핸들러 객체를 Proxy 생성자에게 제공해야 한다.

      • apply()

        함수 호출 작업에 사용되는 대상 객체의 [[Call]] 내부 메소드에 대한 트랩(trap)이다.

      • construct()

        new 연산자와 같은 작업에 사용되는 객체 내부 메소드 [[Construct]]에 대한 트랩(trap)이다.

      • defineProperty()

        Object.defineProperty()와 같은 작업에서 사용되는 객체 내부 메소드 [[DefineOwnProperty]]에 대한 트랩(trap)이다.

      • deleteProperty()

        객체 내부 메소드 [[Delete]]에 대한 트랩(trap)이다.

      • get()

        프로퍼티 접근자와 같은 작업에서 사용되는 객체의 내부 메소드 [[Get]]에 대한 트랩(trap)이다.

      • getOwnPropertyDescriptor()

        Object.getOwnPropertyDescriptor()와 같은 작업에서 사용되는 객체 내부 메소드 [[GetOwnProperty]]에 대한 트랩(trap)이다.

      • getPrototypeOf()

        Object.getPrototypeOf()와 같은 작업에서 사용되는 객체의 내부 메소드 [[GetPrototypeOf]]에 대한 트랩(trap)이다.

      • has()

        in 연산자와 같은 연산에 사용되는 객체의 내부 메소드 [[HasProperty]]에 대한 트랩(trap)이다.

      • isExtensible()

        Object.isExtensible()와 같은 작업에서 사용되는 객체의 내부 메소드 [[IsExtensible]]에 대한 트랩(trap)이다.

      • ownKeys()

        Object.keys(), Reflect.ownKeys() 등과 같은 작업에서 사용되는 객체의 내부 메소드 [[OwnPropertyKeys]]에 대한 트랩(trap)이다.

      • preventExtensions()

        Object.preventExtensions()와 같은 작업에서 사용되는 객체의 내부 메소드 [[PreventExtensions]]에 대한 트랩(trap)이다.

      • set()

        프로퍼티 접근자를 사용하여 프로퍼티를 설정하는 작업에서 사용되는 객체의 내부 메소드 [[Set]]에 대한 트랩(trap)이다.

      • setPrototypeOf()

        Object.setPrototypeOf()와 같은 작업에서 사용되는 객체 내부 메소드 [[SetPrototypeOf]]에 대한 트랩(trap)이다.

  • Static

    정적(static) 멤버를 의미하며 인스턴스(instance)에 상속되어 사용할 수 없고 오로지 하위를 포함하여 객체(object) 또는 인터페이스(interface) 자신에서 해당 멤버에 접근이 가능하다. 

    • Methods

      • revocable()

        취소 가능한 Proxy 객체를 생성한다.

버전 명세

ECMAScript 2024(15th Edition)
#sec-proxy-objects

지원 웹브라우저