Obsolete since JSAPI 28
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.
Convert a JavaScript value to an integer type as specified by the ECMAScript standard.
Syntax
JSBool JS_ValueToECMAInt32(JSContext *cx, jsval v, int32 *ip); JSBool JS_ValueToECMAUint32(JSContext *cx, jsval v, uint32 *ip); JSBool JS_ValueToUint16(JSContext *cx, jsval v, uint16 *ip);
Name | Type | Description |
---|---|---|
cx |
JSContext * |
The context in which to perform the conversion. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext . |
v |
jsval |
The JavaScript value to convert. |
ip |
int32 *
or
uint32 *
or
int16 * |
Out parameter. On success, *ip receives the converted value. |
Description
JS_ValueToECMAInt32
, JS_ValueToECMAUint32
, and JS_ValueToUint16
convert a JavaScript value to various integer types as specified in the ECMAScript specification.
JS_ValueToECMAInt32
implements the ToInt32 operator specified in ECMA 262-3 §9.5.JS_ValueToECMAUint32
implements the ToUint32 operator specified in ECMA 262-3 §9.6.JS_ValueToUint16
implements the ToUint16 operator specified in ECMA 262-3 §9.7.
All three functions first convert v
to a floating-point number as if by calling JS_ValueToNumber
; NaN values are then converted to zero. If that succeeds, the result is then converted to the target integer type. This second conversion cannot fail.
On success, JS_ValueToECMAInt32
stores the converted value in *ip
and returns JS_TRUE
. On error or exception, it returns JS_FALSE
, and the value left in *ip
is undefined.