JavaScript Object.propertyIsEnumerable()

In this tutorial, you will learn about the JavaScript Object.propertyIsEnumerable() method with the help of examples.

The Object.propertyIsEnumerable() method checks if the given property is enumerable and is the object's own property.

Example

let arr = [1, 2, 3, 4];

// check whether the element at
// index 0 is enumerable or not
console.log(arr.propertyIsEnumerable(0));

// Output: true

// check whether length is enumerable or not
console.log(arr.propertyIsEnumerable(arr.length));

// Output: false 

propertyIsEnumerable() Syntax

The syntax of the propertyIsEnumerable() method is:

obj.propertyIsEnumerable(prop)

Here, obj is the object whose property (prop) needs to be checked for enumerability.


propertyIsEnumerable() Parameters

The propertyIsEnumerable() method takes in:

  • prop - the name of the property to test

propertyIsEnumerable() Return Value

The propertyIsEnumerable() method returns:

  • true - if the property is enumerable and exists in the object
  • false - if the property is either not enumerable or if it doesn't exist in the object

Note: Every object has a propertyIsEnumerable() method. This method can determine whether the specified property in an object can be enumerated by a for...in loop.


Example 1: JavaScript Object.propertyIsEnumerable()

// create a simple object
let obj = {
  message: "Hello World!",
};

// check if prop is enumerable
console.log(obj.propertyIsEnumerable("message"));

// Output: true

// check a property that does not exist in the object
console.log(obj.propertyIsEnumerable("random"));

// Output: false

In the above example, the propertyIsEnumerable() method returns true as an output as a message exists in the object obj and is enumerable.

However, we get false as an output while checking whether the non-existent property random is enumerable or not.


Example 2: propertyIsEnumerable() With Built-in Objects

console.log(Math.propertyIsEnumerable("random"));
// Output: false

console.log(Math.propertyIsEnumerable("E")); 

// Output: false

In the above example, the propertyIsEnumerable() method returns false as output while checking whether random and E are enumerable or not.

Here, random and E are two properties of the built-in Math object in JavaScript.

Note: User-created properties are often enumerable (unless explicitly set to false), while most built-in properties are non-enumerable by default.


Recommended Reading:

Did you find this article helpful?