Atomics.store()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2021.

Phương thức tĩnh Atomics.store() lưu trữ một giá trị đã cho tại một vị trí đã cho trong mảng và trả về giá trị đó. Thao tác nguyên tử này đảm bảo rằng việc ghi không bị rách, và tất cả các lần ghi nguyên tử đều nhất quán tuần tự.

Lưu ý rằng không giống nhiều phương thức Atomic khác, store() trả về giá trị mới thay vì giá trị cũ. Để lấy giá trị cũ, hãy sử dụng Atomics.exchange() thay thế.

Cú pháp

js
Atomics.store(typedArray, index, value)

Tham số

typedArray

Một mảng được gõ kiểu số nguyên. Một trong Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, hoặc BigUint64Array.

index

Vị trí trong typedArray để lưu trữ value.

value

Số cần lưu trữ.

Giá trị trả về

Giá trị đã được lưu trữ.

Ngoại lệ

TypeError

Được ném ra nếu typedArray không phải là một trong các kiểu số nguyên được cho phép.

RangeError

Được ném ra nếu index nằm ngoài giới hạn trong typedArray.

Ví dụ

Lưu ý rằng các ví dụ này không thể chạy trực tiếp từ console hoặc một trang web tùy ý, vì SharedArrayBuffer không được định nghĩa trừ khi các yêu cầu bảo mật của nó được đáp ứng.

Sử dụng Atomics.store()

js
// Create a SharedArrayBuffer with a size in bytes
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);

console.log(Atomics.store(ta, 0, 12)); // 12, the new/current value
console.log(Atomics.load(ta, 0)); // 12, the new/current value

Đặc tả kỹ thuật

Specification
ECMAScript® 2027 Language Specification
# sec-atomics.store

Tương thích trình duyệt

Xem thêm