#[repr(transparent)]
pub struct JsString { /* private fields */ }
Expand description

Implementations

The length property of a String object indicates the length of a string, in UTF-16 code units.

MDN documentation

The String object’s charAt() method returns a new string consisting of the single UTF-16 code unit located at the specified offset into the string.

MDN documentation

The charCodeAt() method returns an integer between 0 and 65535 representing the UTF-16 code unit at the given index (the UTF-16 code unit matches the Unicode code point for code points representable in a single UTF-16 code unit, but might also be the first code unit of a surrogate pair for code points not representable in a single UTF-16 code unit, e.g. Unicode code points > 0x10000). If you want the entire code point value, use codePointAt().

Returns NaN if index is out of range.

MDN documentation

The codePointAt() method returns a non-negative integer that is the Unicode code point value.

MDN documentation

The concat() method concatenates the string arguments to the calling string and returns a new string.

MDN documentation

The endsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.

MDN documentation

The static String.fromCharCode() method returns a string created from the specified sequence of UTF-16 code units.

MDN documentation

Notes

There are a few bindings to from_char_code in js-sys: from_char_code1, from_char_code2, etc… with different arities.

Additionally, this function accepts u16 for character codes, but fixing others requires a breaking change release (see https://github.com/rustwasm/wasm-bindgen/issues/1460 for details).

The static String.fromCodePoint() method returns a string created by using the specified sequence of code points.

MDN documentation

Exceptions

A RangeError is thrown if an invalid Unicode code point is given

Notes

There are a few bindings to from_code_point in js-sys: from_code_point1, from_code_point2, etc… with different arities.

The includes() method determines whether one string may be found within another string, returning true or false as appropriate.

MDN documentation

The indexOf() method returns the index within the calling String object of the first occurrence of the specified value, starting the search at fromIndex. Returns -1 if the value is not found.

MDN documentation

The lastIndexOf() method returns the index within the calling String object of the last occurrence of the specified value, searching backwards from fromIndex. Returns -1 if the value is not found.

MDN documentation

The localeCompare() method returns a number indicating whether a reference string comes before or after or is the same as the given string in sort order.

MDN documentation

The match() method retrieves the matches when matching a string against a regular expression.

MDN documentation

The normalize() method returns the Unicode Normalization Form of a given string (if the value isn’t a string, it will be converted to one first).

MDN documentation

The padEnd() method pads the current string with a given string (repeated, if needed) so that the resulting string reaches a given length. The padding is applied from the end (right) of the current string.

MDN documentation

The padStart() method pads the current string with another string (repeated, if needed) so that the resulting string reaches the given length. The padding is applied from the start (left) of the current string.

MDN documentation

The repeat() method constructs and returns a new string which contains the specified number of copies of the string on which it was called, concatenated together.

MDN documentation

The replace() method returns a new string with some or all matches of a pattern replaced by a replacement. The pattern can be a string or a RegExp, and the replacement can be a string or a function to be called for each match.

Note: The original string will remain unchanged.

MDN documentation

The search() method executes a search for a match between a regular expression and this String object.

MDN documentation

The slice() method extracts a section of a string and returns it as a new string, without modifying the original string.

MDN documentation

The split() method splits a String object into an array of strings by separating the string into substrings, using a specified separator string to determine where to make each split.

MDN documentation

The startsWith() method determines whether a string begins with the characters of a specified string, returning true or false as appropriate.

MDN documentation

The substring() method returns the part of the string between the start and end indexes, or to the end of the string.

MDN documentation

The substr() method returns the part of a string between the start index and a number of characters after it.

MDN documentation

The toLocaleLowerCase() method returns the calling string value converted to lower case, according to any locale-specific case mappings.

MDN documentation

The toLocaleUpperCase() method returns the calling string value converted to upper case, according to any locale-specific case mappings.

MDN documentation

The toLowerCase() method returns the calling string value converted to lower case.

MDN documentation

The toString() method returns a string representing the specified object.

MDN documentation

The toUpperCase() method returns the calling string value converted to uppercase (the value will be converted to a string if it isn’t one).

MDN documentation

The trim() method removes whitespace from both ends of a string. Whitespace in this context is all the whitespace characters (space, tab, no-break space, etc.) and all the line terminator characters (LF, CR, etc.).

MDN documentation

The trimEnd() method removes whitespace from the end of a string. trimRight() is an alias of this method.

MDN documentation

The trimEnd() method removes whitespace from the end of a string. trimRight() is an alias of this method.

MDN documentation

The trimStart() method removes whitespace from the beginning of a string. trimLeft() is an alias of this method.

MDN documentation

The trimStart() method removes whitespace from the beginning of a string. trimLeft() is an alias of this method.

MDN documentation

The valueOf() method returns the primitive value of a String object.

MDN documentation

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

The static raw() method is a tag function of template literals, similar to the r prefix in Python or the @ prefix in C# for string literals.

MDN documentation

👎 Deprecated:

recommended to use dyn_ref instead which is now equivalent

Returns the JsString value of this JS value if it’s an instance of a string.

If this JS value is not an instance of a string then this returns None.

Returns whether this string is a valid UTF-16 string.

This is useful for learning whether String::from(..) will return a lossless representation of the JS string. If this string contains unpaired surrogates then String::from will succeed but it will be a lossy representation of the JS string because unpaired surrogates will become replacement characters.

If this function returns false then to get a lossless representation of the string you’ll need to manually use the iter method (or the char_code_at accessor) to view the raw character codes.

For more information, see the documentation on JS strings vs Rust strings

Returns an iterator over the u16 character codes that make up this JS string.

This method will call char_code_at for each code in this JS string, returning an iterator of the codes in sequence.

If this string consists of a single Unicode code point, then this method converts it into a Rust char without doing any allocations.

If this JS value is not a valid UTF-8 or consists of more than a single codepoint, then this returns None.

Note that a single Unicode code point might be represented as more than one code unit on the JavaScript side. For example, a JavaScript string "\uD801\uDC37" is actually a single Unicode code point U+10437 which corresponds to a character ‘𐐷’.

Methods from Deref<Target = Object>

The constructor property returns a reference to the Object constructor function that created the instance object.

MDN documentation

The hasOwnProperty() method returns a boolean indicating whether the object has the specified property as its own property (as opposed to inheriting it).

MDN documentation

The isPrototypeOf() method checks if an object exists in another object’s prototype chain.

MDN documentation

The propertyIsEnumerable() method returns a Boolean indicating whether the specified property is enumerable.

MDN documentation

The toLocaleString() method returns a string representing the object. This method is meant to be overridden by derived objects for locale-specific purposes.

MDN documentation

The toString() method returns a string representing the object.

MDN documentation

The valueOf() method returns the primitive value of the specified object.

MDN documentation

Methods from Deref<Target = JsValue>

Returns the f64 value of this JS value if it’s an instance of a number.

If this JS value is not an instance of a number then this returns None.

Tests whether this JS value is a JS string.

If this JS value is a string value, this function copies the JS string value into wasm linear memory, encoded as UTF-8, and returns it as a Rust String.

To avoid the copying and re-encoding, consider the JsString::try_from() function from js-sys instead.

If this JS value is not an instance of a string or if it’s not valid utf-8 then this returns None.

UTF-16 vs UTF-8

JavaScript strings in general are encoded as UTF-16, but Rust strings are encoded as UTF-8. This can cause the Rust string to look a bit different than the JS string sometimes. For more details see the documentation about the str type which contains a few caveats about the encodings.

Returns the bool value of this JS value if it’s an instance of a boolean.

If this JS value is not an instance of a boolean then this returns None.

Tests whether this JS value is null

Tests whether this JS value is undefined

Tests whether the type of this JS value is symbol

Tests whether typeof self == "object" && self !== null.

Tests whether the type of this JS value is function.

Tests whether the value is “truthy”.

Tests whether the value is “falsy”.

Trait Implementations

Performs the conversion.

Performs the conversion.

Performs the conversion.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

The resulting type after dereferencing.

Dereferences the value.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

The associated error which can be returned from parsing.

Parses a string s to return a value of this type. Read more

The wasm ABI type that this converts from when coming back out from the ABI boundary. Read more

Recover a Self from Self::Abi. Read more

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary. Read more

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary. Read more

Performs a dynamic instanceof check to see whether the JsValue provided is an instance of this type. Read more

Performs a dynamic check to see whether the JsValue provided is a value of this type. Read more

Performs a zero-cost unchecked conversion from a JsValue into an instance of Self Read more

Performs a zero-cost unchecked conversion from a &JsValue into an instance of &Self. Read more

Test whether this JS value has a type T. Read more

Performs a dynamic cast (checked at runtime) of this value into the target type T. Read more

Performs a dynamic cast (checked at runtime) of this value into the target type T. Read more

Performs a zero-cost unchecked cast into the specified type. Read more

Performs a zero-cost unchecked cast into a reference to the specified type. Read more

Test whether this JS value is an instance of the type T. Read more

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi. Read more

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

The wasm ABI type references to Self are recovered from.

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous. Read more

Recover a Self::Anchor from Self::Abi. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Same as IntoWasmAbi::Abi

Same as IntoWasmAbi::into_abi, except that it may throw and never return in the case of Err. Read more

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.