JavaScript Object getOwnPropertyDescriptor() Method

The Object.getOwnPropertyDescriptor() method in JavaScript is a standard built-in object that enables the full information on a property to be accessed and returns a property descriptor for the own property of a given object.
Syntax:
Object.getOwnPropertyDescriptor( obj, prop )
Parameters: This method accepts two parameters as mentioned above and described below:
- obj: This parameter holds the object in which the property is to be looked.
- prop: This parameter holds the name or Symbol of the property whose description is to be retrieved.
Return value: This method returns a property descriptor of the given property or undefined depending upon the existence of the object.
Below examples illustrate the Object.getOwnPropertyDescriptor() method in JavaScript:
Example 1: In this example, we will check if an object contains some property or not using the Object.getOwnPropertyDescriptor() method in JavaScript.
javascript
const zambiatek1 = { prop1: "zambiatek"} const zambiatek2 = { prop2: "Best Platform"} const zambiatek3 = { prop3: "And Computer science portal"} const descriptor1 = Object.getOwnPropertyDescriptor(zambiatek1, 'prop1'); const descriptor2 = Object.getOwnPropertyDescriptor(zambiatek2, 'prop2'); const descriptor3 = Object.getOwnPropertyDescriptor(zambiatek3, 'prop3'); console.log(descriptor1.enumerable); console.log(descriptor2.enumerable); console.log(descriptor1.value); console.log(descriptor2.value); console.log(descriptor3.enumerable); console.log(descriptor3.value); |
Output:
true true "zambiatek" "Best Platform" true "And Computer science portal"
Example 2: In this example, we will check if an object contains some property or not using the Object.getOwnPropertyDescriptor() method in JavaScript.
javascript
let geek, result; geek = { get foo() { return 17; } }; d = Object.getOwnPropertyDescriptor(geek, 'foo'); console.log(d) geek = { bar: 42 }; d = Object.getOwnPropertyDescriptor(geek, 'bar'); console.log(d) geek = { [Symbol.for('baz')]: 73 } d = Object.getOwnPropertyDescriptor(geek, Symbol.for('baz')); console.log(d) geek = {}; Object.defineProperty(geek, 'qux', { value: 8675309, writable: false, enumerable: false}); d = Object.getOwnPropertyDescriptor(geek, 'qux'); console.log(d) |
Output:
Object { get: get foo() { return 17; }, set: undefined, enumerable: true, configurable: true }
Object { value: 42, writable: true, enumerable: true, configurable: true }
Object { value: 73, writable: true, enumerable: true, configurable: true }
Object { value: 8675309, writable: false, enumerable: false, configurable: false }
We have a complete list of Javascript Object methods, to check those please go through this JavaScript Object Complete Reference article.
Supported Browsers: The browsers supported by Object.getOwnPropertyDescriptor() method are listed below:
- Google Chrome 5.0 and above
- Internet Explorer 9.0 and above
- Mozilla 4.0 and above
- Opera 12 and above
- Safari 5.0 and above


