The handler.get()
method is a trap for getting a property value.
const p = new Proxy(target, { get: function(target, property, receiver) { } });
The following parameters are passed to the get()
method. this
is bound to the handler.
target
property
Symbol
of the property to get. receiver
The get()
method can return any value.
The handler.get()
method is a trap for getting a property value.
This trap can intercept these operations:
proxy[foo]
and proxy.bar
Object.create(proxy)[foo]
Reflect.get()
If the following invariants are violated, the proxy will throw a TypeError
:
undefined
as its [[Get]]
attribute.The following code traps getting a property value.
const p = new Proxy({}, { get: function(target, property, receiver) { console.log('called: ' + property); return 10; } }); console.log(p.a); // "called: a" // 10
The following code violates an invariant.
const obj = {}; Object.defineProperty(obj, 'a', { configurable: false, enumerable: false, value: 10, writable: false }); const p = new Proxy(obj, { get: function(target, property) { return 20; } }); p.a; // TypeError is thrown
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/get