Reflect.get()

The static Reflect.get() method works like getting a property from an object (target[propertyKey]) as a function.

Syntax

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. When used with Proxy, it can be an object that inherits from target.

Return value

The value of the property.

Exceptions

A TypeError, if target is not an Object.

Description

The Reflect.get method allows you to get a property on an object. It is like the property accessor syntax as a function.

Examples

Using Reflect.get()

// Object
let obj = { x: 1, y: 2 }
Reflect.get(obj, 'x')  // 1

// Array
Reflect.get(['zero', 'one'], 1)  // "one"

// Proxy with a get handler
let x = {p: 1};

let obj = new Proxy(x, {
  get(t, k, r) {
    return k + 'bar'
  }
})
Reflect.get(obj, 'foo')  // "foobar"

//Proxy with get handler and receiver
let x = {p: 1, foo: 2};
let y = {foo: 3};

let obj = new Proxy(x, {
  get(t, prop, receiver) {
    return receiver[prop] + 'bar'
  }
})
Reflect.get(obj, 'foo', y) // "3bar"

Specifications

Specification
ECMAScript (ECMA-262)
The definition of 'Reflect.get' in that specification.

Browser compatibility

BCD tables only load in the browser

See also