--- title: WebAssembly slug: Web/JavaScript/Reference/Global_Objects/WebAssembly translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly ---
Объект JavaScript WebAssembly действует как пространство имён для всего WebAssembly-связанной функциональности.
В отличие от большинства других глобальных объектов, WebAssembly не является конструктором (это не объект функции). Можно сравнить его с {{jsxref("Math")}}, который так же является пространством имён констант и функций, или {{jsxref("Intl")}}, который является пространством имён для конструкторов интернационализации и других языково-чувствительных функций.
Основное использование WebAssembly следующее:
Module и его первый Instance.true) или (false).Module.Instance.Memory.Table.CompileError.LinkError.RuntimeError.После загрузки некоторого байт-кода WebAssembly с помощью fetch, мы компилируем и создаём экземпляр модуля с помощью функции {{jsxref("WebAssembly.instantiate()")}}, импортируя функции JavaScript в WebAssembly Module в процессе. Этот промис результирует в объект (result), содержащий скомпилированные Module и объекты Instance. Мы можем вызвать Exported WebAssembly function, которая была экспортирована через 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()
);
Note: Смотрите пример index.html на GitHub (view it live also), который использует наши fetchAndInstantiate() библиотечные функции.
{{Compat}}