MDN’s new design is in Beta! A sneak peek:

Obsolete since JSAPI 36
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Get the next property id from an iterator object produced by JS_NewPropertyIterator.


JS_NextProperty(JSContext *cx, JS::HandleObject iterobj, JS::MutableHandleId idp);
Name Type Description
cx JSContext * The JS context in which to enumerate properties. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
iterobj JS::HandleObject The opaque iterator object returned by a previous call to JS_NewPropertyIterator.
idp JS::MutableHandleId Out parameter. On success, *idp receives the name or index of the next property name; or JSID_VOID if there are no more enumerable properties to visit.


On success, JS_NextProperty returns true, with *idp containing the id of the next enumerable own property to visit using iterobj, or JSID_VOID if there is no such property left to visit. On error, it returns false, and the value left in *idp is undefined.

See Also

Document Tags and Contributors

 Contributors to this page: arai, fscholz, DavidKnell, Jorend
 Last updated by: arai,