Atomics.or()

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

시도해보기

구문

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 사용하기

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

같이 보기