From bef64616079cbcbd9c4eb3359f7644da5ebc33a6 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 11 Dec 2021 00:21:15 +0900 Subject: 2021/12/09 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reference/global_objects/atomics/or/index.md | 107 +++++++-------------- 1 file changed, 37 insertions(+), 70 deletions(-) (limited to 'files/ja/web/javascript/reference/global_objects/atomics/or') diff --git a/files/ja/web/javascript/reference/global_objects/atomics/or/index.md b/files/ja/web/javascript/reference/global_objects/atomics/or/index.md index f391f8bc8c..38efc65500 100644 --- a/files/ja/web/javascript/reference/global_objects/atomics/or/index.md +++ b/files/ja/web/javascript/reference/global_objects/atomics/or/index.md @@ -6,114 +6,81 @@ tags: - JavaScript - メソッド - 共有メモリー +browser-compat: javascript.builtins.Atomics.or translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/or --- {{JSRef}} -静的な Atomics.or() メソッドは、配列内の指定した位置の値に指定した値でビット単位の OR を計算し、その位置にあった古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。 +静的な **`Atomics.or()`** メソッドは、配列内の指定した位置の値に指定した値でビット単位の OR を計算し、その位置にあった古い値を返します。これは不可分操作で、修正された値が書き戻されるまで、他の書き込みが起こらないことを保証します。 {{EmbedInteractiveExample("pages/js/atomics-or.html")}} - - ## 構文 -
Atomics.and(typedArray, index, value)
-
+```js +Atomics.or(typedArray, index, value) +``` ### 引数 -- typedArray -
整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, {{jsxref("BigUint64Array")}} の何れかです。
-- index -
typedArray でビット単位の OR を計算する位置です。
-- value -
ビット単位の OR を取る数値です。
+- `typedArray` + - : 整数の型付き配列です。 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, {{jsxref("Uint32Array")}}, {{jsxref("BigInt64Array")}}, {{jsxref("BigUint64Array")}} の何れかです。 +- `index` + - : `typedArray` でビット単位の OR を計算する位置です。 +- `value` + - : ビット単位の OR を取る数値です。 ### 返値 -指定された位置にあった古い値です (typedArray[index])。 +指定された位置 (`typedArray[index]`) にあった古い値です。 ### 例外 -- typedArray が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 -- index が typedArray の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 +- `typedArray` が許可された整数型の何れでもない場合、{{jsxref("TypeError")}} が発生します。 +- `index` が `typedArray` の範囲を超えている場合、 {{jsxref("RangeError")}} が発生します。 -

解説

+## 解説 ビット単位の OR 操作は、 a と b のどちらかが 1 であった場合に 1 を生成します。 OR 操作の真理値表を示します。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
aba | b
000
011
101
111
- -例えば、ビット単位の OR を 5 | 1 で行うと、結果は 0101 すなわち10進数で5となります。 - -
5  0101
+| `a` | `b` | `a \| b` |
+| --- | --- | -------- |
+| 0   | 0   | 0        |
+| 0   | 1   | 1        |
+| 1   | 0   | 1        |
+| 1   | 1   | 1        |
+
+例えば、ビット単位の OR を 5 | 1 で行うと、結果は 0101 すなわち 10 進数で 5 となります。
+
+```plain
+5  0101
 1  0001
    ----
 5  0101
-
+``` ## 例 -

or の使用

+### or の使用 -
const sab = new SharedArrayBuffer(1024);
+```js
+const sab = new SharedArrayBuffer(1024);
 const ta = new Uint8Array(sab);
 ta[0] = 2;
 
 Atomics.or(ta, 0, 1); // returns 2, the old value
-Atomics.load(ta, 0);  // 3
+Atomics.load(ta, 0); // 3 +``` -

仕様書

+## 仕様書 - - - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-atomics.or', 'Atomics.or')}}
+{{Specifications}} -

ブラウザーの互換性

+## ブラウザーの互換性 -{{Compat("javascript.builtins.Atomics.or")}} +{{Compat}} -

関連情報

+## 関連情報 - {{jsxref("Atomics")}} - {{jsxref("Atomics.and()")}} -- cgit v1.2.3-54-g00ecf