Documentación offline JavaScript main

Reflect.get()

main Documentación oficial Licencia CC-BY-SA-2.5Descargado el 2026-08-02

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 this provided for the call to target if a getter is encountered. Defaults to target.

Return value#

The value of the property.

Exceptions#

  • {{jsxref("TypeError")}}
  • : Thrown if target is 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#