char
`T` 参数 | `&T` 参数 | `&mut T` 参数 | `T` 返回值 | `Option<T>` 参数 | `Option<T>` 返回值 | JavaScript 表示形式 |
---|---|---|---|---|---|---|
是 | 否 | 否 | 是 | 是 | 是 | 一个 JavaScript 字符串值 |
由于 JavaScript 没有字符类型,所以 `char` 被表示为一个包含一个 Unicode 代码点的 JavaScript 字符串。
注意:JavaScript 字符串使用 UTF-16 编码。这意味着一个单独的 `char` 在 JavaScript 中可能被表示为一个长度为 1 或 2 的字符串,具体取决于 Unicode 代码点。有关详细信息,请参阅 `String.fromCodePoint`。
当传递到 Rust 中时,JavaScript 字符串的 `char` 值是使用 `codePointAt(0)` 确定的。如果 JavaScript 字符串为空或以不成对的代理项开头,则会抛出运行时错误。
注意:有关不成对代理项的更多信息,请参阅 `str` 的文档。
Rust 使用示例
#![allow(unused)] fn main() { use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn take_char_by_value(x: char) {} #[wasm_bindgen] pub fn return_char() -> char { '🚀' } }
JavaScript 使用示例
import {
take_char_by_value,
return_char,
} from './guide_supported_types_examples';
take_char_by_value('a');
let c = return_char();
console.log(typeof c); // "string"