JsValue
T parameter | &T parameter | &mut T parameter | T return value | Option<T> parameter | Option<T> return value | JavaScript representation |
|---|---|---|---|---|---|---|
| Yes | Yes | No | Yes | No | No | Any JavaScript value |
&[JsValue] slices
You can pass &[JsValue] slices from Rust to JavaScript. The slice is passed as
a JavaScript Array.
#![allow(unused)] fn main() { #[wasm_bindgen] extern "C" { fn process_values(values: &[JsValue]); } pub fn call_js() { let values: Vec<JsValue> = vec![1.into(), "hello".into(), true.into()]; process_values(&values); } }
Example Rust Usage
#![allow(unused)] fn main() { use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn take_js_value_by_value(x: JsValue) {} #[wasm_bindgen] pub fn take_js_value_by_shared_ref(x: &JsValue) {} #[wasm_bindgen] pub fn return_js_value() -> JsValue { JsValue::NULL } }
Example JavaScript Usage
import {
take_js_value_by_value,
take_js_value_by_shared_ref,
return_js_value,
} from './guide_supported_types_examples';
take_js_value_by_value(42);
take_js_value_by_shared_ref('hello');
let v = return_js_value();