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.
const geeks1 = { prop1: "GeeksforGeeks"
} const geeks2 = { prop2: "Best Platform"
} const geeks3 = { prop3: "And Computer science portal"
} const descriptor1 = Object.getOwnPropertyDescriptor(geeks1, 'prop1' );
const descriptor2 = Object.getOwnPropertyDescriptor(geeks2, 'prop2' );
const descriptor3 = Object.getOwnPropertyDescriptor(geeks3, '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 "GeeksforGeeks" "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.
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