介绍
getOwnPropertyDescriptor方法拦截Object.getOwnPropertyDescriptor,返回一个属性描述对象或者undefined。
Object.getOwnPropertyDescriptor() 方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)
demo
<script>
var handler = {
getOwnPropertyDescriptor (target,key) {
if(key[0] === '_') {
return;
}
return Object.getOwnPropertyDescriptor(target,key);
}
};
var target = {_foo:'bar',baz:'tar'};
var proxy = new Proxy(target,handler);
console.log(Object.getOwnPropertyDescriptor(proxy,'wat'));//undefined
console.log(Object.getOwnPropertyDescriptor(proxy,'_foo'));//undefined
console.log(Object.getOwnPropertyDescriptor(proxy,'baz'));// { value: 'tar', writable: true, enumerable: true, configurable: true }
</script>