ArrayBuffer.prototype.resize()
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 resize() của các instance ArrayBuffer thay đổi kích thước ArrayBuffer thành kích thước được chỉ định, tính bằng byte.
Try it
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
console.log(buffer.byteLength);
// Expected output: 8
buffer.resize(12);
console.log(buffer.byteLength);
// Expected output: 12
Cú pháp
resize(newLength)
Tham số
newLength-
Độ dài mới, tính bằng byte, để thay đổi kích thước
ArrayBufferthành.
Giá trị trả về
None (undefined).
Ngoại lệ
TypeError-
Được ném ra nếu
ArrayBufferđã bị tách ra hoặc không thể thay đổi kích thước. RangeError-
Được ném ra nếu
newLengthlớn hơnmaxByteLengthcủaArrayBuffer.
Mô tả
Phương thức resize() thay đổi kích thước một ArrayBuffer thành kích thước được chỉ định bởi tham số newLength, miễn là ArrayBuffer có thể thay đổi kích thước và kích thước mới nhỏ hơn hoặc bằng maxByteLength của ArrayBuffer. Các byte mới được khởi tạo thành 0.
Lưu ý rằng bạn có thể sử dụng resize() để thu nhỏ cũng như mở rộng một ArrayBuffer — newLength được phép nhỏ hơn byteLength hiện tại của ArrayBuffer.
Ví dụ
>Sử dụng resize()
Trong ví dụ này, chúng ta tạo một buffer 8 byte có thể thay đổi kích thước đến tối đa 16 byte, sau đó kiểm tra thuộc tính resizable của nó, thay đổi kích thước nếu resizable trả về true:
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
if (buffer.resizable) {
console.log("Buffer is resizable!");
buffer.resize(12);
}
Đặc tả kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-arraybuffer.prototype.resize> |