JavaScript | Reflect.get() 方法
JavaScript 中的Reflect.get()方法用于允许用户以函数的形式从对象中获取属性。此方法始终返回属性的值。
句法:
Reflect.get(target, propertyKey, receiver)
参数:此方法接受三个参数,如上所述,如下所述:
- target:该参数用于获取属性,为目标对象。
- propertyKey:此参数用于获取键的名称。
- receiver:它是一个可选参数,如果遇到 getter,它是为调用 object 提供的 this 的值。
返回值:此方法总是返回属性的值。
异常:当目标不是对象时,TypeError 是作为结果给出的异常。
下面的示例说明了 JavaScript 中的 Reflect.get() 方法:
示例 1:
javascript
const object = {
val1: 1,
val2: 2
};
console.log(Reflect.get(object, 'val1'));
const abc = {val:21};
console.log( Reflect.get ( abc, "val" ) === 21 );
console.log( Reflect.get ( abc, "x" ) === undefined );
console.log( Reflect.get ( abc, "y" ) === 21 );
const array1 = ['geeks1', 'geeks2', 'geeks3', 'geeks4'];
console.log(Reflect.get(array1, 3));
javascript
let abc = {val: 1};
let obj1 = new Proxy(abc, {
get(t, k, r) {
return k + 'for'+ k
}
})
console.log (Reflect.get(obj1, 'geeks'));
const valx = {prop:21};
const valy = Object.create (valx);
console.log (
Reflect.get ( valy, "prop" ) === 12
);
console.log (
Reflect.get ( valy, "prop" ) === 21
);
输出:
1
true
true
false
"geeks4"
示例 2:
javascript
let abc = {val: 1};
let obj1 = new Proxy(abc, {
get(t, k, r) {
return k + 'for'+ k
}
})
console.log (Reflect.get(obj1, 'geeks'));
const valx = {prop:21};
const valy = Object.create (valx);
console.log (
Reflect.get ( valy, "prop" ) === 12
);
console.log (
Reflect.get ( valy, "prop" ) === 21
);
输出:
"geeksforgeeks"
false
true
支持的浏览器: JavaScript Reflect.get() 方法支持的浏览器如下:
- 谷歌浏览器 49 及更高版本
- 边缘 12 及以上
- 火狐 42 及以上
- Opera 36 及以上
- Safari 10 及更高版本