Obsolete since JSAPI 17
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.

Use JS_NewNumberValue instead.

Allocates a copy of jsdouble on the GC heap.


jsdouble *
JS_NewDouble(JSContext *cx, jsdouble d);
Name Type Description
cx JSContext * The context in which to create the new number. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
d jsdouble The number to copy.


JS_NewDouble allocates a copy of the number d on the JavaScript garbage collection heap. This function is not very useful. To convert a jsdouble to a jsval, use JS_NewNumberValue instead.

Warning: The argument d must not be a value that could fit in an integer jsval. If it is, JS_NewDouble creates a bad jsdouble that might behave as desired in some cases but not others.

The new jsdouble is subject to garbage collection until you protect it using a local root, an object property, or the JS_AddRoot function.

On success, JS_NewDouble returns a pointer to the new number. Otherwise it returns NULL.

The application must treat the returned pointer as read-only. Modifying a jsdouble allocated with this function can cause undefined behavior.

See Also