SharedArrayBuffer.prototype.grow()

Baseline 2024
Newly available

Since July 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Phương thức grow() của các instance SharedArrayBuffer mở rộng SharedArrayBuffer đến kích thước được chỉ định, tính bằng byte.

Cú pháp

js
grow(newLength)

Tham số

newLength

Độ dài mới, tính bằng byte, để thay đổi kích thước SharedArrayBuffer thành.

Giá trị trả về

None (undefined).

Ngoại lệ

TypeError

Được ném ra nếu SharedArrayBuffer không thể mở rộng.

RangeError

Được ném ra nếu newLength lớn hơn maxByteLength của SharedArrayBuffer hoặc nhỏ hơn byteLength.

Mô tả

Phương thức grow() mở rộng một SharedArrayBuffer đến kích thước được chỉ định bởi tham số newLength, miễn là SharedArrayBuffer có thể mở rộng và kích thước mới nhỏ hơn hoặc bằng maxByteLength của SharedArrayBuffer. Các byte mới được khởi tạo thành 0.

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 grow()

Trong ví dụ này, chúng ta tạo một buffer 8 byte có thể mở rộng đến tối đa 16 byte, sau đó kiểm tra thuộc tính growable của nó, mở rộng nếu growable trả về true:

js
const buffer = new SharedArrayBuffer(8, { maxByteLength: 16 });

if (buffer.growable) {
  console.log("SAB is growable!");
  buffer.grow(12);
}

Đặc tả kỹ thuật

Specification
ECMAScript® 2027 Language Specification
# sec-sharedarraybuffer.prototype.grow

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

Xem thêm