Obsolete since JSAPI 13
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.
Retrieves the class associated with an object.
This macro was removed in SpiderMonkey 1.8.8 when the signature of JS_GetClass()
was changed to take only an object pointer.
Syntax
#ifdef JS_THREADSAFE #define JS_GET_CLASS(cx,obj) JS_GetClass(cx, obj) #else #define JS_GET_CLASS(cx,obj) JS_GetClass(obj) #endif
Parameter | Type | Description |
---|---|---|
cx |
JSContext * |
Any context associated with the runtime in which obj exists. |
obj |
JSObject * |
Object to get the class from. |
JS_GetClass
took both a JSContext*
and a JSObject*
as arguments in thread-safe builds, and in non-thread-safe builds it took only a JSObject*. The JS_GET_CLASS(cx, obj)
macro abstracted away this detail. Newer versions have removed the context argument, so that the same signature is used regardless whether or not the build is thread-safe.Description
JS_GET_CLASS
returns a pointer to the JSClass
associated with a specified JS object, obj
. The application must treat the JSClass
as read-only.
To check the type of an object, use JS_HasInstance
instead. For a stricter, exact-match-only check, use JS_InstanceOf
or JS_GetInstancePrivate
.
The JS_GET_CLASS
abstracted away signature differences in the JS_GetClass
method in threadsafe and non-threadsafe builds. As of SpiderMonkey 1.8.8 it no longer exists, because JS_GetClass's signature is the same in all build environments.