Monday, November 18, 2024
Google search engine
HomeLanguagesJavascriptHow to get property descriptors of an object in JavaScript ?

How to get property descriptors of an object in JavaScript ?

Here, we are going to discuss the property descriptors of an Object in JavaScript. The Object.getOwnPropertyDescriptor() method returns an object describing a specific property on a given object. A JavaScript object can be created in many ways and its properties can be called by using property descriptors for that object.

Syntax:

Object.getOwnPropertyDescriptor( obj, prop )

The Object.getOwnPropertyDescriptor() takes two parameters as input as described below:

  • obj: It refers to the object name whose properties are to be described.
  • prop: It defines the specific property in the object whose value is to be returned.

Return value: This method returns the property of the Object if it exists else it returns undefined. 

Example: In the below example, an object Obj is created which consists of two properties property1 and property2.  We use Object.getOwnPropertyDescriptor() property to return the attributes and values related to each property.

JavaScript




<script>
  
    // Object
    const Obj = {
        property1: "neveropen",
        property2: 12
    };
  
    const descriptor1 = Object
        .getOwnPropertyDescriptor(Obj, 'property1');
  
    const descriptor2 = Object
        .getOwnPropertyDescriptor(Obj, 'property2');
  
    console.log(descriptor1.configurable);
    // expected output: true
  
    console.log(descriptor1.enumerable);
    // expected output: true
  
    console.log(descriptor1.value);
    // expected output: neveropen
  
    console.log(descriptor2.value);
    // expected output: 12
  
</script>


Output:

true
true
neveropen
12

Descriptors:

A property descriptor of an object consists of some of the following attributes to define each property:

  • value: It is the value associated with the property that is called
  • writable: It indicates if the property can be changed or not. It only returns true if the property can be manipulated
  • enumerable: If the property is visible during enumeration of the properties of the corresponding object, then it returns true.
  • configurable: It indicates if the property descriptor can be changed or removed from the corresponding object.

Example: The below example describes the property attributes for property1 and property2 related to object Obj.

JavaScript




<script>
    const Obj = {
        property1: "neveropen",
        property2: 12
    };
  
    const descriptor1 = Object
        .getOwnPropertyDescriptor(Obj, 'property1');
  
    const descriptor2 = Object
        .getOwnPropertyDescriptor(Obj, 'property2');
  
    console.log(descriptor1);
    console.log(descriptor2);
</script>


Output:

{value: 'neveropen', writable: true, enumerable: true, configurable: true}
    configurable: true
    enumerable: true
    value: "neveropen"
    writable: true
    [[Prototype]]: Object

{value: 12, writable: true, enumerable: true, configurable: true}
    configurable: true
    enumerable: true
    value: 12
    writable: true
    [[Prototype]]: Object

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

RELATED ARTICLES

Most Popular

Recent Comments