Reflect.get()
En esta página
The Reflect.get() static method is like the property accessor syntax, but as a function.
{{InteractiveExample("JavaScript Demo: Reflect.get()")}}
```js interactive-example const object = { x: 1, y: 2, };
console.log(Reflect.get(object, "x")); // Expected output: 1
const array = ["zero", "one"];
console.log(Reflect.get(array, 1)); // Expected output: "one"
## Syntax
```js-nolint
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_inline}}- : The value of
thisprovided for the call totargetif a getter is encountered. Defaults totarget.
Return value#
The value of the property.
Exceptions#
- {{jsxref("TypeError")}}
- : Thrown if
targetis not an object.
Description#
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.
Examples#
Using Reflect.get()#
// 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#
{{Specifications}}
Browser compatibility#
{{Compat}}
See also#
- Polyfill of
Reflect.getincore-js - {{jsxref("Reflect")}}
- Property accessors
handler.get()