From 7144ca0458a33571ade432951827e61443d85ff5 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Thu, 9 Sep 2021 20:08:51 +0900 Subject: Global_Objects/WebAssembly/Global を更新 (#2295) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Markdownに変換 - 2021/08/31 時点の英語版に同期 - Global コンストラクターは新規翻訳 --- .../global_objects/webassembly/global/index.html | 118 --------------------- 1 file changed, 118 deletions(-) delete mode 100644 files/ja/web/javascript/reference/global_objects/webassembly/global/index.html (limited to 'files/ja/web/javascript/reference/global_objects/webassembly/global/index.html') diff --git a/files/ja/web/javascript/reference/global_objects/webassembly/global/index.html b/files/ja/web/javascript/reference/global_objects/webassembly/global/index.html deleted file mode 100644 index 16817b0777..0000000000 --- a/files/ja/web/javascript/reference/global_objects/webassembly/global/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: WebAssembly.Global -slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Global -tags: - - API - - Constructor - - JavaScript - - Reference - - WebAssembly - - global -translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Global ---- -
{{JSRef}}
- -

WebAssembly.Global はグローバル変数として存在し、JavaScript または {{jsxref("WebAssembly.Module")}} インスタンスから参照することができます。これにより動的に複数のモジュールをリンクすることができます。

- -

コンストラクターの文法

- -
var myGlobal = new WebAssembly.Global(descriptor, value);
- -

パラメーター

- -
-
descriptor
-
GlobalDescriptor 辞書オブジェクト、2 つの要素を持っている: -
    -
  • value: {{domxref("USVString")}} はグローバルデータ形式を表し値として i32i64f32f64 のうち一つを取ります。
  • -
  • mutable: グローバルがミュータブルかどうかの真偽値です。デフォルトでは false です。
  • -
-
-
value
-
変数が保持する値です。変数のデータ型に合う限りどんな値でも取れます。もしも何の値も渡されないと、DefaultValue algorithm で指定した時の様な 型ありの 0 が使われます。
-
- -

グローバルコンストラクターによる関数プロパティ

- -

無し

- -

グローバルインスタンス

- -

すべてのグローバルインスタンスは Global() コンストラクターのプロパティオブジェクトを受け継ぐ — これによりすべての Global インスタンスを変更できる

- -

インスタンスプロパティ

- -

{{page('/ja/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global/prototype', 'Properties')}}

- -

インスタンスメソッド

- -

{{page('/ja/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global/prototype', 'Methods')}}

- -

- -

以下の例では新しいグローバルインスタンスは WebAssembly.Global() コンストラクターを用いて初期化され、初期値 0 のミュータブルな i32 型として定義されます。

- -

その後この値は、Global.value プロパティを使うことによって 42 に、global.wasm モジュールから公開された incGlobal() 関数 (入力に限らず 1 を加算する) を使うことによって 43 になります。

- -
const output = document.getElementById('output');
-
-function assertEq(msg, got, expected) {
-    output.innerHTML += `Testing ${msg}: `;
-    if (got !== expected)
-        output.innerHTML += `FAIL!<br>Got: ${got}<br>Expected: ${expected}<br>`;
-    else
-        output.innerHTML += `SUCCESS! Got: ${got}<br>`;
-}
-
-assertEq("WebAssembly.Global exists", typeof WebAssembly.Global, "function");
-
-const global = new WebAssembly.Global({value:'i32', mutable:true}, 0);
-
-WebAssembly.instantiateStreaming(fetch('global.wasm'), { js: { global } })
-.then(({instance}) => {
-    assertEq("getting initial value from wasm", instance.exports.getGlobal(), 0);
-    global.value = 42;
-    assertEq("getting JS-updated value from wasm", instance.exports.getGlobal(), 42);
-    instance.exports.incGlobal();
-    assertEq("getting wasm-updated value from JS", global.value, 43);
-});
- -
-

メモ: GitHub 上で動くデモが試せます。ソースコードも確認してみてください。

-
- -

仕様

- - - - - - - - - - - - - - - - -
仕様策定状況コメント
{{SpecName('WebAssembly JS', '#globals', 'WebAssembly.Global()')}}{{Spec2('WebAssembly JS')}}初回ドラフト定義
- -

ブラウザー実装状況

- -
- - -

{{Compat("javascript.builtins.WebAssembly.Global")}}

-
- -

参考

- - -- cgit v1.2.3-54-g00ecf