--- title: WebAssembly slug: Web/JavaScript/Reference/Global_Objects/WebAssembly translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly ---
WebAssembly
자바스크립트 객체는 모든 WebAssembly에 관계된 기능의 네임스페이스로서 역할합니다.
대부분의 전역객체와 다르게, WebAssembly
는 생성자가 아닙니다 (함수 객체가 아닙니다). 비슷한 예로 수학적인 상수나 함수들을 담고있는 {{jsxref("Math")}} 객체나, 국제화 관련 생성자나 언어에 민감한 다른 함수들을 담고있는 {{jsxref("Intl")}} 등이 있습니다.
WebAssembly
객체의 기본적인 사용례는 다음과 같습니다:
Module
과 첫 번째 Instance
를 반환하는 기본 API입니다.Module
과 첫 번째 Instance
를 반환합니다.true
)인지 아닌지 (false
)를 반환하여 WebAssembly 바이너리 코드의 지정된 입력 된 배열을 확인합니다.Global
object.Module
object.Instance
object.Memory
object.Table
object.CompileError
object.LinkError
object.RuntimeError
object.다음 예제 (GitHub의 instantiate-streaming.html 데모보기 및 라이브보기)에서는 기본 소스에서 .wasm 모듈을 직접 스트리밍 한 다음 컴파일하고 인스턴스화합니다. 프로미스는 ResultObject
로 충족됩니다. instantiateStreaming()
함수는 {{domxref ( "Response")}} 객체에 대한 promise를 받아들이므로 직접 {{domxref ( "WindowOrWorkerGlobalScope.fetch()")}} 호출에 전달할 수 있습니다.
var importObject = { imports: { imported_func: arg => console.log(arg) } };
WebAssembly.instantiateStreaming(fetch('simple.wasm'), importObject)
.then(obj => obj.instance.exports.exported_func());
그런 다음 ResultObject의 인스턴스 구성에 액세스하고 그 안에 있는 exported_func
을 호출합니다.
스펙 | 상태 | 설명 |
---|---|---|
{{SpecName('WebAssembly JS', '#the-webassembly-object', 'WebAssembly')}} | {{Spec2('WebAssembly JS')}} | 초안 정의 |