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
.