Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

WebAssembly

BaselineWidely available *

TheWebAssembly JavaScript object acts as the namespace for allWebAssembly-related functionality.

Unlike most other global objects,WebAssembly is not a constructor (it is not a function object). You can compare it toMath, which is also a namespace object for mathematical constants and functions, or toIntl which is the namespace object for internationalization constructors and other language-sensitive functions.

Description

The primary uses for theWebAssembly object are:

Interfaces

WebAssembly.CompileError

Indicates an error during WebAssembly decoding or validation.

WebAssembly.Global

Represents a global variable instance, accessible from both JavaScript and importable/exportable across one or moreWebAssembly.Module instances. This allows dynamic linking of multiple modules.

WebAssembly.Instance

Is a stateful, executable instance of aWebAssembly.Module

WebAssembly.LinkError

Indicates an error during module instantiation (besidestraps from the start function).

WebAssembly.Memory

An object whosebuffer property is a resizableArrayBuffer that holds the raw bytes of memory accessed by a WebAssemblyInstance.

WebAssembly.Module

Contains stateless WebAssembly code that has already been compiled by the browser and can be efficientlyshared with Workers, and instantiated multiple times.

WebAssembly.RuntimeError

Error type that is thrown whenever WebAssembly specifies atrap.

WebAssembly.Table

An array-like structure representing a WebAssembly Table, which storesreferences, such as function references.

WebAssembly.Tag

An object that represents a type of WebAssembly exception.

WebAssembly.Exception

A WebAssembly exception object that can be thrown, caught, and rethrown both within and across WebAssembly/JavaScript boundaries.

Static methods

WebAssembly.compile()

Compiles aWebAssembly.Module from WebAssembly binary code, leaving instantiation as a separate step.

WebAssembly.compileStreaming()

Compiles aWebAssembly.Module directly from a streamed underlying source, leaving instantiation as a separate step.

WebAssembly.instantiate()

The primary API for compiling and instantiating WebAssembly code, returning both aModule and its firstInstance.

WebAssembly.instantiateStreaming()

Compiles and instantiates a WebAssembly module directly from a streamed underlying source, returning both aModule and its firstInstance.

WebAssembly.validate()

Validates a given typed array of WebAssembly binary code, returning whether the bytes are valid WebAssembly code (true) or not (false).

Examples

Stream a Wasm module then compile and instantiate it

The following example (see ourinstantiate-streaming.html demo on GitHub, andview it live also) directly streams a Wasm module from an underlying source then compiles and instantiates it, the promise fulfilling with aResultObject. Because theinstantiateStreaming() function accepts a promise for aResponse object, you can directly pass it afetch() call, and it will pass the response into the function when it fulfills.

js
const importObject = {  my_namespace: { imported_func: (arg) => console.log(arg) },};WebAssembly.instantiateStreaming(fetch("simple.wasm"), importObject).then(  (obj) => obj.instance.exports.exported_func(),);

TheResultObject's.instance property is then accessed, and the contained exported function invoked.

Specifications

Specification
WebAssembly JavaScript Interface
# webassembly-namespace

Browser compatibility

See also

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp