The Reflect.get()
static method is like the property accessor syntax, but as a function.
The Reflect.get()
static method is like the property accessor syntax, but as a function.
Reflect.get(target, propertyKey) Reflect.get(target, propertyKey, receiver)
target
The target object on which to get the property.
propertyKey
The name of the property to get.
receiver
Optional
The value of this
provided for the call to target
if a getter is encountered.
The value of the property.
TypeError
Thrown if target
is not an object.
Reflect.get()
provides the reflective semantic of a property access. That is, Reflect.get(target, propertyKey, receiver)
is semantically equivalent to:
target[propertyKey];
Note that in a normal property access, target
and receiver
would observably be the same object.
Reflect.get()
invokes the [[Get]]
object internal method of target
.
// Object const obj1 = { x: 1, y: 2 }; Reflect.get(obj1, "x"); // 1 // Array Reflect.get(["zero", "one"], 1); // "one" // Proxy with a get handler const obj2 = new Proxy( { p: 1 }, { get(t, k, r) { return k + "bar"; }, }, ); Reflect.get(obj2, "foo"); // "foobar" // Proxy with get handler and receiver const obj3 = new Proxy( { p: 1, foo: 2 }, { get(t, prop, receiver) { return receiver[prop] + "bar"; }, }, ); Reflect.get(obj3, "foo", { foo: 3 }); // "3bar"
Specification |
---|
ECMAScript Language Specification # sec-reflect.get |
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | Deno | Node.js | ||
get |
49 | 12 | 42 | 36 | 10 | 49 | 42 | 36 | 10 | 5.0 | 49 | 1.0 | 6.0.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get