We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

JS InternUCStringN

Get an interned string—a JSString that is protected from GC and automatically shared with other code that needs a JSString with the same value.


JSString * JS_InternString(JSContext *cx, const char *s);

JSString * JS_InternUCString(JSContext *cx, const jschar *s);

JSString * JS_InternUCStringN(JSContext *cx, const jschar *s, size_t length);


Name Type Description
cx JSContext * A context. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
s const char * or const jschar * Pointer to a character array containing the data for the string. In JS_InternString and JS_InternUCString, the string must be null-terminated.
length size_t (only in JS_InternUCStringN) The length of s in characters.


JS_InternString returns an interned JavaScript string with a specified value, s. JS_InternUCString and JS_InternUCStringN are the Unicode versions of the function.

Each JSRuntime keeps a table of all existing interned strings. If an interned string already exists with the desired value, these functions return the existing string. Otherwise a new string is created and added to the table. Strings created with these functions are protected from garbage collection for the lifetime of the JSRuntime.

On success, these functions return a pointer to the interned string. Otherwise they report an error and return NULL.

See Also

MXR ID Search for JS_InternString
MXR ID Search for JS_InternUCString
MXR ID Search for JS_InternUCStringN

JS_GetEmptyStringValue, JS_NewString, JS_NewStringCopyN, JS_NewStringCopyZ, JS_NewUCString, JS_NewUCStringCopyN, JS_NewUCStringCopyZ, JS_ValueToString

Document Tags and Contributors

Last updated by: Sheppy,