JavaScript中的handler.get()方法是获取属性值的陷阱。
用法:
const p = new Proxy(target, { get:function(target, property, receiver) { } });
参数:此方法接受上述和以下所述的三个参数:
- Target:此参数保存目标对象。
- Property:此参数保存要获取的属性的名称。
- Receiver:此参数保存代理或从代理继承的对象。
返回值:此方法返回任何值。
以下示例说明了JavaScript中的handler.get()方法:
范例1:
<script>
const monster1 = {
string:'Geeksforgeeks',
num:334
};
const handler1 = {
get:function(target, prop, receiver) {
if (prop === 'string') {
return `${target.string.substr(0, 8)} ... Best portal!`;
} else {
return Reflect.get(...arguments);
}
}
};
const proxy1 = new Proxy(monster1, handler1);
console.log(proxy1.num);
console.log(proxy1.string);
console.log(proxy1.numstring);
const obj = new Proxy({}, {
get:function(target, property, receiver) {
console.log('Property:' + property);
return 56.56;
}
});
console.log(obj.value);
</script>
输出:
334 "Geeksfor ... Best portal!" undefined "Property:value" 56.56
范例2:
<script>
const obj = {};
Object.defineProperty(obj, 'a', {
configurable:false,
enumerable:false,
value:10,
writable:false
});
const p = new Proxy(obj, {
get:function(target, property) {
return 10;
}
});
console.log(p.a);
var datalist = {
"vala":32, "valb":7 }
var get = new Proxy(
datalist, {
get:function(y, idx) {
return y[idx] * 11
}
}
)
for(var z in get) {
console.log(z +":"+ get[z])
}
</script>
输出:
10 "vala:352" "valb:77"
支持的浏览器:handler.get()方法支持的浏览器如下:
- 谷歌浏览器
- Firefox
- Opera
- Safari
- Edge
相关用法
- Javascript padStart()用法及代码示例
- Javascript Int8Array from()用法及代码示例
- Javascript Reflect.get()用法及代码示例
- Javascript Reflect.has()用法及代码示例
- Javascript Unit16Array.from()用法及代码示例
- Javascript Int16Array from()用法及代码示例
- Javascript Uint8Array.from()用法及代码示例
- Javascript hasOwnProperty()用法及代码示例
- Javascript compile()用法及代码示例
- Javascript Uint32Array from()用法及代码示例
- Javascript Array from()用法及代码示例
- Javascript Array.from()用法及代码示例
- Javascript handler.has()用法及代码示例
- Javascript exec()用法及代码示例
- Javascript Int32Array.from()用法及代码示例
注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 JavaScript | handler.get() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。