js_class = Blah - The `wasm-bindgen` Guide

## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# `js_class = Blah`

The `js_class` attribute is used to indicate that all the methods inside an `impl` block should be attached to the specified JS class instead of inferring it from the self type in the `impl` block. The `js_class` attribute is most frequently paired with the `js_name` attribute on structs:

    #![allow(unused)]
    fn main() {
    #[wasm_bindgen(js_name = Foo)]
    pub struct JsFoo { /* ... */ }

    #[wasm_bindgen(js_class = Foo)]
    impl JsFoo {
        #[wasm_bindgen(constructor)]
        pub fn new() -> JsFoo { /* ... */ }

        pub fn foo(&self) { /* ... */ }
    }
    }

which is accessed like:

    #![allow(unused)]
    fn main() {
    import { Foo } from './my_module';

    const x = new Foo();
    x.foo();
    }