This is an archived page. It's not actively maintained.


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

Retrieve a pointer to the 16-bit values that make up a given string.


jschar *
JS_GetStringChars(JSString *str); // Obsolete since JSAPI 1.8.5

const jschar *
JS_GetStringCharsZ(JSContext *cx, JSString *str); // Added in SpiderMonkey 1.8.2, Obsolete since JSAPI 33
Name Type Description
cx JSContext * (in JS_GetStringCharsZ only) A context.
str JSString * The string to obtain characters from.


JS_GetStringChars Obsolete since JavaScript 1.8.5 returns a pointer to the first element of an array of jschars. Warnings:

  • The array is not necessarily null-terminated. To get the length of the string, use JS_GetStringLength.
  • The program must not modify the array. If it does, the behavior is undefined.
  • The content of a JS string is not guaranteed to be valid UTF-16. It may contain surrogate code units that aren't properly paired. It may also contain zeroes.

The array returned by this function remains valid as long as str is valid. (Eventually, str becomes unreachable, the garbage collector collects it, and the array is freed by the system.)

JS_GetStringCharsZ is the same except that it always returns either a null-terminated string or NULL, indicating out-of-memory.

See Also