Create a new JavaScript string containing a range of characters from an existing string.

Syntax

JSString *
JS_NewDependentString(JSContext *cx, JS::HandleString str, size_t start,
                      size_t length);
Name Type Description
cx JSContext * The context in which to create the new string. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
str JS::HandleString The string containing the characters for the new string.
start size_t The start index of the substring.
length size_t Length of the substring, in characters.

Description

JS_NewDependentString creates a new string as a substring of an existing JavaScript string, str. The new string contains the same characters as if it were created with the JavaScript method str.substr(start, length).

The characters are not copied. Instead, the new string shares str's existing character storage. (Implementation note: Because of this sharing, the garbage collector will not collect str as long as the new substring is reachable.)

On success, JS_NewDependentString returns a pointer to the new string. Otherwise it returns NULL.

See Also