diff --git a/files/ja/webassembly/javascript_interface/global/global/index.md b/files/ja/webassembly/javascript_interface/global/global/index.md
index 69e421ce17afe4..e392c8d1f36f5d 100644
--- a/files/ja/webassembly/javascript_interface/global/global/index.md
+++ b/files/ja/webassembly/javascript_interface/global/global/index.md
@@ -2,47 +2,60 @@
title: WebAssembly.Global() コンストラクター
slug: WebAssembly/JavaScript_interface/Global/Global
original_slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Global/Global
+l10n:
+ sourceCommit: acfe8c9f1f4145f77653a2bc64a9744b001358dc
---
{{WebAssemblySidebar}}
-**`WebAssembly.Global()`** コンストラクターは、グローバル変数のインスタンスを表す新しい `Global` オブジェクトを表し、これは JavaScript からアクセス可能で、 1 つ以上の {{jsxref("WebAssembly.Module")}} インスタンスの間でインポート/エクスポート可能です。これにより、複数のモジュールを動的リンクすることができます。
+**`WebAssembly.Global()`** コンストラクターは、グローバル変数のインスタンスを表す新しい `Global` オブジェクトを表します。これは JavaScript からアクセス可能で、1 つ以上の [`WebAssembly.Module`](/ja/docs/WebAssembly/JavaScript_interface/Module) インスタンスの間でインポート/エクスポート可能です。これにより、複数のモジュールを動的リンクすることができます。
## 構文
-```js
-new WebAssembly.Global(descriptor, value);
+```js-nolint
+new WebAssembly.Global(descriptor, value)
```
### 引数
-- _descriptor_
+- `descriptor`
- - : `GlobalDescriptor` 辞書オブジェクトで、 2 つのプロパティを持っています。
+ - : オブジェクトで、 2 つのプロパティを持ちます。
- - `value`: [`USVString`](/ja/docs/Web/API/USVString) で、そのグローバル変数のデータ型を表します。これは `i32`、`i64`、`f32`、`f64` のいずれかです。 USVString は Unicode のスカラー値の取りうる並びに相当します。 USVString は JavaScript で返されたときに、 String にマップされます。一般的に、テキスト処理を行い、操作するために Unicode スカラー値の文字列を必要とする API にのみ使用されます。 USVString は、対になっていないサロゲートコードポイントを許可しないことを除いて、 DOMString と同等です。 USVString に存在する対になっていないサロゲートコードポイントは、ブラウザーが Unicode の「置換文字」 U+FFFD, (�) に変換されます。
+ - `value`: 文字列で、そのグローバル変数のデータ型を表します。
+ これは以下のいずれかです。
+ - `i32`: 32 ビット整数。
+ - `i64`: 64 ビット整数。(JavaScript では、これは {{jsxref("BigInt")}} として表される)
+ - `f32`: 32 ビット浮動小数点数。
+ - `f64`: 64 ビット浮動小数点数。
+ - `v128`: 128 ビットベクトル。
+ - `externref`: ホスト参照。
+ - `anyfunc`: 関数参照。
- `mutable`: 論理値で、そのグローバル変数が変更可能であるかどうかを表します。既定では `false` です。
-- _value_
- - : 変数が保持する値です。変数のデータ型に合う限りどんな値でも取れます。もしも何の値も渡されないと、[`DefaultValue`
- アルゴリズム](https://webassembly.github.io/spec/js-api/#defaultvalue)で指定した時のように、型付きの 0 が使われます。
+- `value`
+ - : 変数が保持する値です。変数のデータ型に合う限り、どんな値でも取れます。
+ もしも何の値も渡されないと、`descriptor.value` の値が `i32`、`i64`、`f32`、`f64` のいずれかである場合は型付きの 0 が使用され、`descriptor.value` が `externref` または `anyfunc` であれば、`null` が使用されます([`DefaultValue`
+ アルゴリズム](https://webassembly.github.io/spec/js-api/#defaultvalue)で定義されているとおりです)。
## 例
### 新しい Global インスタンスの生成
-以下の例は、 `WebAssembly.Global()` コンストラクターを用いて生成された新しいグローバルインスタンスです。これは変更可能 (mutable) な `i32` 型で、値は 0 です。
+以下の例は、`WebAssembly.Global()` コンストラクターを用いて生成された新しいグローバルインスタンスです。
+これは変更可能 (mutable) な `i32` 型で、値は 0 です。
-その後、グローバルの値は、まず `Global.value` プロパティを使用して `42` に変更され、次に `global.wasm` モジュールからエクスポートされた `incGlobal()` 関数を使用して 43 に変更されます (これは、与えられた値に 1 を追加してから新しい値を返します)。
+その後、グローバルの値は、まず `Global.value` プロパティを使用して `42` に変更され、次に `global.wasm` モジュールからエクスポートされた `incGlobal()` 関数を使用して 43 に変更されます(これは、与えられた値に 1 を追加してから新しい値を返します)。
```js
const output = document.getElementById("output");
function assertEq(msg, got, expected) {
- output.innerHTML += `Testing ${msg}: `;
- if (got !== expected)
- output.innerHTML += `FAIL!
Got: ${got}
Expected: ${expected}
`;
- else output.innerHTML += `SUCCESS! Got: ${got}
`;
+ const result =
+ got === expected
+ ? `SUCCESS! Got: ${got}
`
+ : `FAIL!
Got: ${got}
Expected: ${expected}
`;
+ output.innerHTML += `Testing ${msg}: ${result}`;
}
assertEq("WebAssembly.Global exists", typeof WebAssembly.Global, "function");
@@ -68,7 +81,7 @@ WebAssembly.instantiateStreaming(fetch("global.wasm"), { js: { global } }).then(
);
```
-> **メモ:** この例は[GitHub 上の実行例](https://mdn.github.io/webassembly-examples/js-api-examples/global.html)で確認できます。また、[ソースコード](https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/global.html)も参照してください。
+> **メモ:** この例は [GitHub 上の実行例](https://mdn.github.io/webassembly-examples/js-api-examples/global.html)で確認できます。また、[ソースコード](https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/global.html)も参照してください。
## 仕様書
@@ -80,8 +93,7 @@ WebAssembly.instantiateStreaming(fetch("global.wasm"), { js: { global } }).then(
## 関連情報
-- [WebAssembly](/ja/docs/WebAssembly) overview page
-- [WebAssembly concepts](/ja/docs/WebAssembly/Concepts)
+- [WebAssembly](/ja/docs/WebAssembly) 概要ページ
+- [WebAssembly の概要](/ja/docs/WebAssembly/Concepts)
- [WebAssembly JavaScript API の使用](/ja/docs/WebAssembly/Using_the_JavaScript_API)
-- [Import/Export
- mutable globals proposal](https://github.com/WebAssembly/mutable-global/blob/master/proposals/mutable-global/Overview.md)
+- [Import/Export mutable globals proposal](https://github.com/WebAssembly/mutable-global/blob/master/proposals/mutable-global/Overview.md)
diff --git a/files/ja/webassembly/javascript_interface/global/index.md b/files/ja/webassembly/javascript_interface/global/index.md
index c6cc2faeb47781..5cc52d9b0ea881 100644
--- a/files/ja/webassembly/javascript_interface/global/index.md
+++ b/files/ja/webassembly/javascript_interface/global/index.md
@@ -2,15 +2,17 @@
title: WebAssembly.Global
slug: WebAssembly/JavaScript_interface/Global
original_slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Global
+l10n:
+ sourceCommit: acfe8c9f1f4145f77653a2bc64a9744b001358dc
---
{{WebAssemblySidebar}}
-**`WebAssembly.Global`** はグローバル変数のインスタンスを表します。 JavaScript からアクセスでき、1つ以上の {{jsxref("WebAssembly.Module")}} インスタンス間でインポート/エクスポートすることができます。これにより複数のモジュールを動的にリンクすることができます。
+**`WebAssembly.Global`** はグローバル変数のインスタンスを表します。JavaScript からアクセスでき、1 つ以上の [`WebAssembly.Module`](/ja/docs/WebAssembly/JavaScript_interface/Module) インスタンス間でインポート/エクスポートすることができます。これにより複数のモジュールを動的にリンクすることができます。
## コンストラクター
-- [`WebAssembly.Global()`](/ja/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global/Global)
+- [`WebAssembly.Global()`](/ja/docs/WebAssembly/JavaScript_interface/Global/Global)
- : 新しい `Global` オブジェクトを生成します。
## Global のインスタンス
@@ -20,7 +22,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Global
### インスタンスプロパティ
- `Global.prototype.constructor`
- - : このオブジェクトのインスタンスを生成した関数を返します。既定では、これは {{jsxref("WebAssembly.Global()")}} コンストラクターです。
+ - : このオブジェクトのインスタンスを生成した関数を返します。既定では、これは [`WebAssembly.Global()`](/ja/docs/WebAssembly/JavaScript_interface/Global/Global) コンストラクターです。
- `Global.prototype[@@toStringTag]`
- : [@@toStringTag](/ja/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) プロパティの初期値で、文字列値 "WebAssembly.Global" です。
- `Global.prototype.value`
@@ -37,16 +39,17 @@ original_slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Global
以下の例では新しいグローバルインスタンスは `WebAssembly.Global()` コンストラクターを用いて初期化され、初期値 0 の変更可能な `i32` 型として定義されます。
-その後この値は、`Global.value` プロパティを使うことによって `42` に、`global.wasm` モジュールから公開された (どんな値が与えられても 1 を加算して、新しい値を返す) `incGlobal()` 関数を使うことによって `43` になります。
+その後この値は、`Global.value` プロパティを使うことによって `42` に、`global.wasm` モジュールから公開された(どんな値が与えられても 1 を加算して、新しい値を返す)`incGlobal()` 関数を使うことによって `43` になります。
```js
const output = document.getElementById("output");
function assertEq(msg, got, expected) {
- output.innerHTML += `Testing ${msg}: `;
- if (got !== expected)
- output.innerHTML += `FAIL!
Got: ${got}
Expected: ${expected}
`;
- else output.innerHTML += `SUCCESS! Got: ${got}
`;
+ const result =
+ got === expected
+ ? `SUCCESS! Got: ${got}
`
+ : `FAIL!
Got: ${got}
Expected: ${expected}
`;
+ output.innerHTML += `Testing ${msg}: ${result}`;
}
assertEq("WebAssembly.Global exists", typeof WebAssembly.Global, "function");
@@ -84,7 +87,7 @@ WebAssembly.instantiateStreaming(fetch("global.wasm"), { js: { global } }).then(
## 関連情報
-- [WebAssembly](/ja/docs/WebAssembly) overview page
-- [WebAssembly concepts](/ja/docs/WebAssembly/Concepts)
+- [WebAssembly](/ja/docs/WebAssembly) 概要ページ
+- [WebAssembly の概要](/ja/docs/WebAssembly/Concepts)
- [WebAssembly JavaScript API の使用](/ja/docs/WebAssembly/Using_the_JavaScript_API)
- [Import/Export mutable globals proposal](https://github.com/WebAssembly/mutable-global/blob/master/proposals/mutable-global/Overview.md)