static_method_of = Blah

static_method_of 屬性允許指定匯入的函式是給定的匯入 JavaScript 類別的靜態方法。例如,要綁定到 JavaScript 的 Date.now() 靜態方法,可以使用此屬性

#![allow(unused)]
fn main() {
#[wasm_bindgen]
extern "C" {
    type Date;

    #[wasm_bindgen(static_method_of = Date)]
    pub fn now() -> f64;
}
}

now 函式也成為 Rust 綁定中匯入類型的靜態方法

#![allow(unused)]
fn main() {
let instant = Date::now();
}

這與 js_namespace 屬性類似,但是從 Rust 內部的用法不同,因為該方法也成為匯入類型的靜態方法。此外,此屬性還指定在調用該方法時,this 參數預期為 JS 類別,例如始終以 Date.now() 而非 const x = Date.now; x() 調用。