Baseline Widely available
The Reflect.get()
static method is like the property accessor syntax, but as a function.
const object1 = {
x: 1,
y: 2,
};
console.log(Reflect.get(object1, "x"));
// Expected output: 1
const array1 = ["zero", "one"];
console.log(Reflect.get(array1, 1));
// Expected output: "one"
Syntax
Reflect.get(target, propertyKey)
Reflect.get(target, propertyKey, receiver)
Parameters
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.
ExceptionsTypeError
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:
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"
Specifications Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4