Atomics.or()

Atomics.or() 정적 메서드는 배열에서 주어진 위치에 주어진 값으로 OR 비트 연산을 수행하고 해당 포지션의 기존 값을 반환합니다. 이 아토믹 연산은 수정된 값이 쓰이기 전까지 다른 쓰기 연산이 일어나지 않음을 보장합니다.

시도해보기

구문

js
Atomics.or(typedArray, index, value)

매개변수

typedArray

정수형 형식화 배열. Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, BigUint64Array 중 하나.

index

비트 연산 OR를 계산할 typedArray의 인덱스입니다.

value

비트 연산 OR와 같이 계산할 숫자입니다.

반환 값

주어진 위치(typedArray[index])의 예전 값.

예외

  • typedArray가 허용된 정수형이 아닐 경우 TypeError가 발생합니다.
  • indextypedArray의 범위를 벗어날 경우 RangeError가 발생합니다.

설명

비트 연산 OR은 ab 중 하나라도 1이면 1을 산출합니다. OR 연산에 대한 진리표는 다음과 같습니다.

a b a | b
0 0 0
0 1 1
1 0 1
1 1 1

예를 들어, 5 | 1의 비트 연산 OR의 값은 0101이며 10진수로 5입니다.

5  0101
1  0001
   ----
5  0101

예제

or 사용하기

js
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 2;

Atomics.or(ta, 0, 1); // 이전 값 2를 반환합니다.
Atomics.load(ta, 0); // 3

명세서

Specification
ECMAScript Language Specification
# sec-atomics.or

브라우저 호환성

BCD tables only load in the browser

같이 보기