Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Access the private data field of an object.

Syntax

void *
JS_GetPrivate(JSObject *obj);
Name Type Description
obj JSObject * An object whose JSClass has the JSCLASS_HAS_PRIVATE flag.

Description

JS_GetPrivate accesses an object's private data field. obj must be an instance of a class that has the JSCLASS_HAS_PRIVATE flag.

New objects' private data fields are initially NULL.

If obj is a Function object, as reported by JS_ObjectIsFunction, the private data is a pointer to a JSFunction.  (But consider using JS_ValueToFunction instead to access it.)

Warning: It is dangerous to call JS_GetPrivate on a JSObject * unless the object's JSClass is known. If the object is not of the expected JSClass, the result of JS_GetPrivate would probably be NULL or a pointer to some unexpected type of data. Casting that pointer to the desired type and using it could then cause a crash or worse.

Getters, setters, and methods of custom classes should use JS_GetInstancePrivate instead to avoid this danger. However, it is safe to use JS_GetPrivate in a finalizer.

See Also

Document Tags and Contributors

 Contributors to this page: arai, Sheppy, Dmandelin, Jorend, Wesgarland, Nickolay, Sayrer, Dria, Tservo
 Last updated by: arai,