Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnología web para desarrolladores
  2. JavaScript
  3. Referencia de JavaScript
  4. Objetos globales
  5. Proxy
  6. Constructor Proxy()

Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.

View in EnglishAlways switch to English

Constructor Proxy()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨septiembre de 2016⁩.

El constructorProxy() crea objetosProxy.

Sintaxis

js
new Proxy(target, handler)

Nota:Proxy() solo se puede construir connew. Intentar llamarlo sinnew arroja unTypeError.

Parameters

target

Un objeto de destino para envolver conProxy. Puede ser cualquier tipo de objeto, incluida una matriz nativa, una función o incluso otro proxy.

handler

Un objeto cuyas propiedades son funciones que definen el comportamiento del proxy cuando se realiza una operación en él.

Descripción

Utilice el constructorProxy() para crear un nuevo objetoProxy.Este constructor toma dos argumentos obligatorios:

  • target es el objeto para el que desea crear el proxy
  • handler es el objeto que define el comportamiento personalizado del proxy.

Un manejador vacío creará un proxy que se comporta, en casi todos los aspectos, exactamente como el objetivo. Al definir cualquiera de un conjunto de funciones en el objetohandler, puede personalizar aspectos específicos del comportamiento del proxy. Por ejemplo, al definirget() puede proporcionar una versión personalizada delacceso a la propiedad del objetivo.

Funciones del manejador

Esta sección enumera todas las funciones de manejador que puede definir. Las funciones de manejador a veces se denominantrampas, porque atrapan las llamadas al objeto de destino subyacente.

handler.apply()

Una trampa para una llamada de función.

handler.construct()

Una trampa para el operadornew.

handler.defineProperty()

Una trampa paraObject.defineProperty.

handler.deleteProperty()

Una trampa para el operadordelete.

handler.get()

Una trampa para obtener valores de propiedad.

handler.getOwnPropertyDescriptor()

Una trampa paraObject.getOwnPropertyDescriptor.

handler.getPrototypeOf()

Una trampa paraObject.getPrototypeOf.

handler.has()

Una trampa para el operadorin.

handler.isExtensible()

Una trampa paraObject.isExtensible.

handler.ownKeys()

Una trampa paraObject.getOwnPropertyNames yObject.getOwnPropertySymbols.

handler.preventExtensions()

Una trampa paraObject.preventExtensions.

handler.set()

Una trampa para establecer valores de propiedad.

handler.setPrototypeOf()

Una trampa paraObject.setPrototypeOf.

Ejemplos

Accesores de propiedad proxy selectivamente

En este ejemplo, el objetivo tiene dos propiedades,notProxied yproxied. Definimos un controlador que devuelve un valor diferente paraproxied y permite cualquier otro acceso al objetivo.

js
const target = {  notProxied: "Valor original",  proxied: "Valor original",};const handler = {  get(target, prop, receiver) {    if (prop === "proxied") {      return "Valor reemplazado";    }    return Reflect.get(...arguments);  },};const proxy = new Proxy(target, handler);console.log(proxy.notProxied); // "Valor original"console.log(proxy.proxied); // "Valor reemplazado"

Especificaciones

Specification
ECMAScript® 2026 Language Specification
# sec-proxy-constructor

Compatibilidad con navegadores

Véase también

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp