Atomics.exchange()
Atomics.exchange() 정적 메서드는 배열의 지정된 위치에 지정된 값을 저장하고 해당 위치의 이전 값을 반환합니다.
이 아토믹 연산은 이전 값의 읽기와 새 값의 쓰기 사이에 다른 쓰기가 발생하지 않는 것을 보장합니다.
시도해보기
구문
js
Atomics.exchange(typedArray, index, value)
매개변수
typedArray-
정수 타입의 배열.
Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,BigInt64Array,BigUint64Array중 하나. index-
value를 교환할typedArray의 위치. value-
교환할 숫자.
반환 값
해당 위치의 예전 값(typedArray[index]).
예외
typedArray가 허용하는 정수 타입이 아닐 경우TypeError가 발생합니다.index가 해당typedArray를 벗어나는 경우RangeError가 발생합니다.
예제
exchange() 사용하기
js
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
Atomics.exchange(ta, 0, 12); // returns 0, the old value
Atomics.load(ta, 0); // 12
명세서
| Specification |
|---|
| ECMAScript Language Specification # sec-atomics.exchange |
브라우저 호환성
BCD tables only load in the browser