--- title: WebAssembly slug: Web/JavaScript/Reference/Global_Objects/WebAssembly tags: - API - Experimental - JavaScript - Objeto - Referencia - WebAssembly translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly original_slug: Web/JavaScript/Referencia/Objetos_globales/WebAssembly ---
El objeto WebAssembly de JavaScript actua como un namespace para todas las funcionalidades realcionados con WebAssembly.
A diferencia de otros objetos globales, WebAssembly no tiene un constructor (no tiene una función para crear el objeto). Puedes ser comparado con el objeto {{jsxref("Math")}}, que también es un namespace, para funciones y constantes matemáticas, o también con {{jsxref("Intl")}} que es un namespace para internacionalización y otras funciones de idioma.
Los usos primarios para el objeto WebAssembly son:
Module y el primero Instance.Module y el primero Instance.true) o de lo contrario (false).Module.Instance.Memory.Table.CompileError.LinkError.RuntimeError.Después de obtener algún bytecode de WebAssembly usando la sentencia fetch, nosotros compilamos e instanciamos el módulo usando la función {{jsxref("WebAssembly.instantiate()")}} , importando una función de JavaScript en el WebAssembly Module en el proceso. Esta premisa resuelve a un objeto (result) que contenga un objeto Module compilado y un objeto Instance . Entonces tenemos una llamada a Exported WebAssembly function que es exportada por Instance.
var importObject = {
imports: {
imported_func: function(arg) {
console.log(arg);
}
}
};
fetch('simple.wasm').then(response =>
response.arrayBuffer()
).then(bytes =>
WebAssembly.instantiate(bytes, importObject)
).then(result =>
result.instance.exports.exported_func()
);
Nota: Ver index.html en GitHub (view it live also) para un ejemplo que hace uso de la función fetchAndInstantiate().
| Especificación | Estado | Comentario |
|---|---|---|
| {{SpecName('WebAssembly JS', '#the-webassembly-object', 'WebAssembly')}} | {{Spec2('WebAssembly JS')}} | Definición inicial del borrador. |
{{Compat("javascript.builtins.WebAssembly")}}