Proxy and Reflect
Widely available
The Proxy
and Reflect
JavaScript built-ins intercept and define custom behavior for fundamental language operations (such as property lookup, assignment, enumeration, or function invocation).
Compatibility (view on caniuse.com)
- Chrome 49 Released on 2016-03-02
- Chrome Android 49 Released on 2016-03-09
- Edge 12 Released on 2015-07-29
- Firefox 18 Released on 2013-01-08
- Firefox for Android 18 Released on 2013-01-08
- Safari 10 Released on 2016-09-20
- Safari on iOS 10 Released on 2016-09-13
MDN docs
- Proxy global object
- Proxy.Proxy
- Proxy.Proxy.apply
- Proxy.Proxy.construct
- Proxy.Proxy.defineProperty
- Proxy.Proxy.deleteProperty
- Proxy.Proxy.get
- Proxy.Proxy.getOwnPropertyDescriptor
- Proxy.Proxy.getPrototypeOf
- Proxy.Proxy.has
- Proxy.Proxy.isExtensible
- Proxy.Proxy.ownKeys
- Proxy.Proxy.preventExtensions
- Proxy.Proxy.set
- Proxy.Proxy.setPrototypeOf
- Proxy.revocable
- Reflect global object
- Reflect.apply
- Reflect.construct
- Reflect.defineProperty
- Reflect.deleteProperty
- Reflect.get
- Reflect.getOwnPropertyDescriptor
- Reflect.getPrototypeOf
- Reflect.has
- Reflect.isExtensible
- Reflect.ownKeys
- Reflect.preventExtensions
- Reflect.set
- Reflect.setPrototypeOf
Specifications
- ECMAScript Language Specification, from TC39 (Ecma International).
BCD data
- javascript.builtins.Proxy
- javascript.builtins.Proxy.Proxy
- javascript.builtins.Proxy.handler.apply
- javascript.builtins.Proxy.handler.construct
- javascript.builtins.Proxy.handler.defineProperty
- javascript.builtins.Proxy.handler.deleteProperty
- javascript.builtins.Proxy.handler.get
- javascript.builtins.Proxy.handler.getOwnPropertyDescriptor
- javascript.builtins.Proxy.handler.getPrototypeOf
- javascript.builtins.Proxy.handler.has
- javascript.builtins.Proxy.handler.isExtensible
- javascript.builtins.Proxy.handler.ownKeys
- javascript.builtins.Proxy.handler.preventExtensions
- javascript.builtins.Proxy.handler.set
- javascript.builtins.Proxy.handler.setPrototypeOf
- javascript.builtins.Proxy.revocable
- javascript.builtins.Reflect
- javascript.builtins.Reflect.apply
- javascript.builtins.Reflect.construct
- javascript.builtins.Reflect.defineProperty
- javascript.builtins.Reflect.deleteProperty
- javascript.builtins.Reflect.get
- javascript.builtins.Reflect.getOwnPropertyDescriptor
- javascript.builtins.Reflect.getPrototypeOf
- javascript.builtins.Reflect.has
- javascript.builtins.Reflect.isExtensible
- javascript.builtins.Reflect.ownKeys
- javascript.builtins.Reflect.preventExtensions
- javascript.builtins.Reflect.set
- javascript.builtins.Reflect.setPrototypeOf