JS Built-ins
← Object133 / 150
ObjectpropertyIsEnumerableintermediate

propertyIsEnumerable() β€” non-enumerable via defineProperty

πŸ“– Usage Example
// Check if a property shows up in for...in loops
const obj = { a: 1 }
obj.propertyIsEnumerable('a')   // β†’ true
Object.defineProperty(obj, 'b', { value: 2, enumerable: false })
obj.propertyIsEnumerable('b')   // β†’ false

Use propertyIsEnumerable() to check whether a specific own property will appear during enumeration (e.g., for...in or Object.keys).

propertyIsEnumerable() β€” defineProperty

Properties created with Object.defineProperty and enumerable: false will return false from propertyIsEnumerable().

Challenge: Define a non-enumerable property and verify with propertyIsEnumerable().

πŸ’‘ Hints (1)
  • β€’ defineProperty defaults enumerable to false if not specified