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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
getChrome Full support 49Edge Full support 12Firefox Full support 42IE No support NoOpera Full support 36Safari Full support 10WebView Android Full support 49Chrome Android Full support 49Firefox Android Full support 42Opera Android Full support 36Safari iOS Full support 10Samsung Internet Android Full support 5.0nodejs Full support 6.0.0

Legend

Full support  
Full support
No support  
No support

See also