102 releases
| 0.3.95 | Apr 10, 2026 |
|---|---|
| 0.3.94 | Mar 31, 2026 |
| 0.3.91 | Feb 27, 2026 |
| 0.3.83 | Nov 28, 2025 |
| 0.2.0 | Jul 26, 2018 |
#17 in WebAssembly
23,475,884 downloads per month
Used in 73,388 crates
(2,333 directly)
1MB
12K
SLoC
Bindings to JavaScript's standard, built-in objects, including their methods and properties.
This does not include any Web, Node, or any other JS environment APIs. Only the things that are guaranteed to exist in the global scope by the ECMAScript standard.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
A Note About camelCase, snake_case, and Naming Conventions
JavaScript's global objects use camelCase naming conventions for functions
and methods, but Rust style is to use snake_case. These bindings expose
the Rust style snake_case name. Additionally, acronyms within a method
name are all lower case, where as in JavaScript they are all upper case. For
example, decodeURI in JavaScript is exposed as decode_uri in these
bindings.
A Note About toString and to_js_string
JavaScript's toString() method is exposed as to_js_string() in these
bindings to avoid confusion with Rust's ToString trait and its
to_string() method. This allows types to implement both the Rust
Display trait (which provides to_string() via
ToString) and still expose the JavaScript toString() functionality.
js-sys
Raw bindings to JS global APIs for projects using wasm-bindgen. This crate is
handwritten and intended to work in all JS environments like browsers and
Node.js.
Dependencies
~0.4–1.1MB
~22K SLoC