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

Implementations

The Symbol.hasInstance well-known symbol is used to determine if a constructor object recognizes an object as its instance. The instanceof operator’s behavior can be customized by this symbol.

MDN documentation

The Symbol.isConcatSpreadable well-known symbol is used to configure if an object should be flattened to its array elements when using the Array.prototype.concat() method.

MDN documentation

The Symbol.asyncIterator well-known symbol specifies the default AsyncIterator for an object. If this property is set on an object, it is an async iterable and can be used in a for await...of loop.

MDN documentation

The Symbol.iterator well-known symbol specifies the default iterator for an object. Used by for...of.

MDN documentation

The Symbol.match well-known symbol specifies the matching of a regular expression against a string. This function is called by the String.prototype.match() method.

MDN documentation

The Symbol.replace well-known symbol specifies the method that replaces matched substrings of a string. This function is called by the String.prototype.replace() method.

For more information, see RegExp.prototype[@@replace]() and String.prototype.replace().

MDN documentation

The Symbol.search well-known symbol specifies the method that returns the index within a string that matches the regular expression. This function is called by the String.prototype.search() method.

For more information, see RegExp.prototype[@@search]() and String.prototype.search().

MDN documentation

The well-known symbol Symbol.species specifies a function-valued property that the constructor function uses to create derived objects.

MDN documentation

The Symbol.split well-known symbol specifies the method that splits a string at the indices that match a regular expression. This function is called by the String.prototype.split() method.

For more information, see RegExp.prototype[@@split]() and String.prototype.split(). MDN documentation

The Symbol.toPrimitive is a symbol that specifies a function valued property that is called to convert an object to a corresponding primitive value.

MDN documentation

The Symbol.toStringTag well-known symbol is a string valued property that is used in the creation of the default string description of an object. It is accessed internally by the Object.prototype.toString() method.

MDN documentation

The Symbol.for(key) method searches for existing symbols in a runtime-wide symbol registry with the given key and returns it if found. Otherwise a new symbol gets created in the global symbol registry with this key.

MDN documentation

The Symbol.keyFor(sym) method retrieves a shared symbol key from the global symbol registry for the given symbol.

MDN documentation

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

MDN documentation

The Symbol.unscopables well-known symbol is used to specify an object value of whose own and inherited property names are excluded from the with environment bindings of the associated object.

MDN documentation

The valueOf() method returns the primitive value of a Symbol 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.

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.

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

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.