GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • MDN
  • HTML: Markup language
  • Elements
  • Global attributes
  • Attributes
  • See all…
  • Responsive images
  • HTML cheatsheet
  • Date & time formats
  • See all…
  • SVG
  • MathML
  • XML
  • CSS: Styling language

This view

  • Original page
  • New address

GeezerVison is showing developer.mozilla.org — WebAssembly.Instance() コンストラクター - WebAssembly | MDN

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

WebAssembly.Instance() コンストラクター

Baseline
広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年10月以降、すべてのブラウザーで利用可能です。

  • 完全な互換性情報を見る
  • もっと詳しく

WebAssembly.Instance() コンストラクターは、新しい Instance オブジェクトを生成します。これはステートフルで実行可能な WebAssembly.Module のインスタンスです。

構文

警告: 巨大なモジュールのインスタンス化は高コストになる可能性があるので、開発者が同期的な Instance() コンストラクターを使用するのは、絶対に必要な場合のみにするべきです。それ以外の場合はすべて、WebAssembly.instantiateStreaming() メソッドを使用してください。

js
new WebAssembly.Instance(module, importObject);

引数

module

インスタンス化する WebAssembly.Module オブジェクト。

importObject 省略可

新しく生成される Instance にインポートされる値を持つオブジェクトで、例えば関数や WebAssembly.Memory オブジェクトなどです。モジュール内で宣言されたインポートそれぞれに対応するプロパティが存在する必要があります。そうでない場合、 WebAssembly.LinkError が発生します。

例

WebAssembly モジュールの同期的なインスタンス化

次のように WebAssembly.Instance() コンストラクター関数を呼び出して、渡した WebAssembly.Module オブジェクトを同期的にインスタンス化することができます。

js
const importObject = {
  imports: {
    imported_func: function (arg) {
      console.log(arg);
    },
  },
};

fetch("simple.wasm")
  .then((response) => response.arrayBuffer())
  .then((bytes) => {
    let mod = new WebAssembly.Module(bytes);
    let instance = new WebAssembly.Instance(mod, importObject);
    instance.exports.exported_func();
  });

ただし、Instance を取得する方法としては、次のように、非同期の WebAssembly.instantiateStreaming() 関数を使用することをお勧めします。

js
const importObject = {
  imports: {
    imported_func: function (arg) {
      console.log(arg);
    },
  },
};

WebAssembly.instantiateStreaming(fetch("simple.wasm"), importObject).then(
  (obj) => obj.instance.exports.exported_func(),
);

仕様書

仕様書
WebAssembly JavaScript Interface
# dom-instance-instance

ブラウザーの互換性

関連情報

  • WebAssembly 概要ページ
  • WebAssembly の概念
  • WebAssembly JavaScript API の使用

MDN の改良に協力

協力方法を知る

このページは 2026年5月23日 に MDN の貢献者によって最終更新されました。

GitHub でこのページを表示 • このコンテンツに関する問題を報告
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.