Reflect.get()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

Reflect.get() 方法与从 对象 (target[propertyKey]) 中读取属性类似,但它是通过一个函数执行来操作的。

语法

Reflect.get(target, propertyKey[, receiver])

参数

target

需要取值的目标对象

propertyKey

需要获取的值的键值

receiver

如果target对象中指定了getterreceiver则为getter调用时的this值。

返回值

属性的值。

异常

如果目标值类型不是 Object,则抛出一个 TypeError

描述

Reflect.get方法允许你从一个对象中取属性值。就如同属性访问器 语法,但却是通过函数调用来实现。

示例

使用 Reflect.get()

js
// Object
var obj = { x: 1, y: 2 };
Reflect.get(obj, "x"); // 1

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

// Proxy with a get handler
var x = { p: 1 };
var obj = new Proxy(x, {
  get(t, k, r) {
    return k + "bar";
  },
});
Reflect.get(obj, "foo"); // "foobar"

规范

Specification
ECMAScript® 2025 Language Specification
# sec-reflect.get

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
get

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

参见