Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

JavaScript Reflect getOwnPropertyDescriptor() Method

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

JavaScript Reflect.getOwnPropertyDescriptor() method in Javascript is used to get the descriptor of an object if it exists in the object. It is the same as the Object.getOwnPropertyDescriptor method, but non-object targets are handled differently.

Syntax:

Reflect.getOwnPropertyDescriptor(obj, Key) 

Parameters: This method accepts two parameters as mentioned above and described below:

  • Obj: This parameter holds the target object and it looks for the property.
  • Key: This parameter is used to get its own property descriptor for the name of the property.

Return value: This method returns the property descriptor object and returns undefined if the target object does not exist .

Exceptions: A TypeError is an exception given as the result when the target is not an Object.

Below examples illustrate the Reflect.getOwnPropertyDescriptor() method in JavaScript:

Example 1: In this example, we will get the descriptor of an object using the Reflect.getOwnPropertyDescriptor() method in JavaScript.

javascript




<script>
    let object = {
        property1: "geeks"
    };
      
    console.log(Reflect.getOwnPropertyDescriptor(
                        object, 'property1').value);
                          
    console.log(Reflect.getOwnPropertyDescriptor(
                        object, 'property2'));
                          
    console.log(Reflect.getOwnPropertyDescriptor(
                        object, 'property1').writable);
      
    let object1 = { 
        property2: "Javascript"
    }; 
      
    const object3 = {
        property3: 232
    }; 
      
    console.log(Reflect.getOwnPropertyDescriptor(
                        object1, 'property2').value); 
                          
    console.log(Reflect.getOwnPropertyDescriptor(
                        object1, 'property3')); 
                          
    console.log(Reflect.getOwnPropertyDescriptor(
                        object1, 'property2').writable); 
      
    console.log(Reflect.getOwnPropertyDescriptor
                    (object3, "null" ) === undefined 
    );
</script>

Output:

"geeks"
undefined
true
"Javascript"
undefined
true
true

Example 2: In this example, we will get the descriptor of an object using the Reflect.getOwnPropertyDescriptor() method in JavaScript.

javascript




<script>
    const object1 = { 
        property1: "NULL" 
    }; 
      
    console.log(Reflect.getOwnPropertyDescriptor(
                        object1, 'property2')); 
    console.log(Reflect.getOwnPropertyDescriptor(
                        object1, 'property1').writable);
    console.log(Reflect.getOwnPropertyDescriptor(
                        object1, 'property1'));
      
    console.log(Reflect.getOwnPropertyDescriptor(
                        {val: 'hello'}, 'val'));
    console.log(Reflect.getOwnPropertyDescriptor(
                        {val1: 'hello'}, 'y'));
    console.log(Reflect.getOwnPropertyDescriptor(
                        [], 'length'));
</script>

Output:

undefined
true
[object Object] {
  configurable: true,
  enumerable: true,
  value: "NULL",
  writable: true
}
[object Object] {
  configurable: true,
  enumerable: true,
  value: "hello",
  writable: true
}
undefined
[object Object] {
  configurable: false,
  enumerable: false,
  value: 0,
  writable: true
}

Example 3: Calling the non-object and an error is occurred.

javascript




<script>
    console.log(Reflect.getOwnPropertyDescriptor('foo', 0));
</script>

Output:

Error: Reflect.getOwnPropertyDescriptor called on non-object

Supported Browsers: The browsers supported by JavaScript Reflect.getOwnPropertyDescriptor() Method are listed below:

  • Google Chrome 49 and above
  • Edge 12 and above
  • Firefox 42 and above
  • Opera 36 and above
  • Safari 10 and above

We have a complete list of Javascript Reflects methods, to check those go through the JavaScript Reflect Reference article.


My Personal Notes arrow_drop_up
Last Updated : 30 May, 2023
Like Article
Save Article
Similar Reads
Related Tutorials