Your Search Results


    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_InternStringN(JSContext *cx, const char *s, size_t length);
    JSString *
    JS_InternUCString(JSContext *cx, const char16_t *s);
    JSString *
    JS_InternUCStringN(JSContext *cx, const char16_t *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 char16_t * 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_InternStringN and JS_InternUCStringN) The length of s in characters.


    JS_InternString and JS_InternStringN return 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

    Document Tags and Contributors

    Contributors to this page: fscholz, Nickolay, arai, Tservo, Dria, Jorend
    Last updated by: arai,
    Hide Sidebar