handler.getOwnPropertyDescriptor()
JavaScript handler.getOwnPropertyDescriptor()方法
handler.getOwnPropertyDescriptor()方法是Object.getOwnPropertyDescriptor()的陷阱。它作为目标对象的自身属性存在,并且目标对象不可扩展。
语法
getOwnPropertyDescriptor: function(target, prop)
参数
target:目标对象。
prop:目标对象的名称。属性。
返回值
此方法返回一个对象或未定义的对象。
浏览器支持
Chrome |
49 |
Edge |
12 |
Firefox |
18 |
Opera |
36 |
示例1
const proxy = new Proxy({}, {
getOwnPropertyDescriptor: function(target, name) {
document.writeln('Java Script is a scripting language');
//expected output: Java Script is a scripting language
return Object.getOwnPropertyDescriptor(target, name);
}
});
console.dir(Object.getOwnPropertyDescriptor(proxy, 'foo'));
输出:
Java Script is a scripting language
示例2
const r={}
const p = new Proxy(r, {
getOwnPropertyDescriptor: function(target, prop) {
document.write('Value : ' + prop);
return { configurable: true, enumerable: true, value: 10 };
}
});
document.writeln(Object.getOwnPropertyDescriptor(p, 'abc ').value);
输出:
示例3
var a = {
eyeCount: 3
}
var b = {
getOwnPropertyDescriptor(target, prop) {
document.writeln(`Java Script proxt : ${prop}`);
return { configurable: true, value: 50};
}
};
const c= new Proxy(a, b);
document.writeln(Object.getOwnPropertyDescriptor(c, 'Own property').value);
输出:
Java Script proxt : Own property 50