Reflect.get()
Reflect.get()
静态方法类似于属性访问器语法,但它是一个函数。
试一试
语法
js
Reflect.get(target, propertyKey)
Reflect.get(target, propertyKey, receiver)
参数
target
-
获取属性的目标对象。
propertyKey
-
要获取的属性的名称。
receiver
可选-
如果遇到 getter,则为对
target
的调用提供的this
的值。
返回值
属性的值。
异常
TypeError
-
如果
target
不是对象,则抛出此异常。
描述
示例
使用 Reflect.get()
js
// 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"
规范
规范 |
---|
ECMAScript 语言规范 # sec-reflect.get |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。