JSEnumerateOp is the type of the JSClass.enumerate callback.


typedef bool
(* JSEnumerateOp)(JSContext *cx, JS::HandleObject obj);
Name Type Description
cx JSContext * Pointer to the JS context in which the enumeration is taking place.
obj JS::HandleObject Pointer to the object to be enumerated.


JSEnumerateOp is called just before an object is enumerated (via a for...in statement, an array comprehension, or a call to JS_Enumerate). It should define any remaining lazy properties that should be enumerable but are not yet defined in obj. This hook does not implement iteration: once the properties are defined, the JavaScript engine can enumerate them.

JSClass hooks

JSClass offers following hook:

See Also