JavaScript | handler.getOwnPropertyDescriptor() Method
The handler.getOwnPropertyDescriptor() method in Javascript is a trap for Object.getOwnPropertyDescriptor() method. A property cannot be reported as non-existent, if it exists as a non-configurable own property of the target object.
Syntax:
const p = new Proxy(target, {
getOwnPropertyDescriptor: function(target, prop) {
}
});Parameters: This method accept two parameters as mentioned above and described below:
- Target: This parameter is the target object.
- Prop: This parameter is the name of the property whose description should be retrieved.
Return value: This method returns an object or undefined.
Below examples illustrate the handler.getOwnPropertyDescriptor() method in JavaScript:
Example 1:
<script>const monster1 = { num: 4}; const handler1 = { getOwnPropertyDescriptor(target, prop) { console.log(`Type : ${prop}`); return { configurable: true, enumerable: true, value: 5 }; }}; const proxy1 = new Proxy(monster1, handler1); console.log(Object.getOwnPropertyDescriptor(proxy1, 'num').value);console.log(Object.getOwnPropertyDescriptor(proxy1, 'bool').enumerable);</script> |
Output:
> "Type : num" > 5 > "Type : bool" > true
Example 2:
<script>const p = new Proxy({ VAL: 20}, { getOwnPropertyDescriptor: function(target, prop) { console.log('Property : ' + prop); return { configurable: true, enumerable: true, value: 10 }; }}); console.log(Object.getOwnPropertyDescriptor(p, 'VAL').value); const obj = { a: 10 };Object.preventExtensions(obj);const pval = new Proxy(obj, { getOwnPropertyDescriptor: function(target, prop) { return undefined; }}); console.log(Object.getOwnPropertyDescriptor(pval));</script> |
Output:
> "Property : VAL" > 10 > undefined
Supported Browsers: The browsers supported by handler.getOwnPropertyDescriptor() method are listed below:
- Google Chrome
- Firefox
- Opera
- Safari
- Edge


