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.
resize() 㯠ArrayBuffer ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ããã® ArrayBuffer ãæå®ããããµã¤ãºï¼ãã¤ãåä½ï¼ã«ãµã¤ãºå¤æ´ãã¾ãã
試ãã¦ã¿ã¾ããã
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
console.log(buffer.byteLength);
// äºæ³ãããçµæ: 8
buffer.resize(12);
console.log(buffer.byteLength);
// äºæ³ãããçµæ: 12
æ§æ
resize(newLength)
弿°
newLength-
ArrayBufferã®ãµã¤ãºã夿´ããæ°ããé·ãï¼ãã¤ãåä½ï¼ã§ãã
è¿å¤
ãªã (undefined)ã
ä¾å¤
TypeError-
ArrayBufferãåãé¢ããã¦ãããããµã¤ãºå¤æ´ã§ããªãå ´åã«çºçãã¾ãã RangeError-
newLengthãArrayBufferã®maxByteLengthãã大ããå ´åã«çºçãã¾ãã
解説
resize() ã¡ã½ãã㯠ArrayBuffer ã newLength 弿°ã§æå®ããã大ããã¸ãµã¤ãºå¤æ´ãã¾ãã ãã ããArrayBuffer ããµã¤ãºå¤æ´å¯è½ã§ãæ°ãããµã¤ãºã ArrayBuffer ã® maxByteLength 以ä¸ã§ãããã¨ãæ¡ä»¶ã§ããæ°ãããã¤ã㯠0 ã«åæåããã¾ãã
ã¾ããresize() ã使ç¨ããã¨ãArrayBuffer ãæé·ãããã ãã§ãªãã縮å°ããããã¨ãã§ãããã¨ã«æ³¨æãã¦ãã ãããnewLength ã ArrayBuffer ã®ç¾å¨ã® byteLength ããå°ãããªããã¨ã許容ããã¦ãã¾ãã
ä¾
>resize() ã®ä½¿ç¨
ãã®ä¾ã§ã¯ãæå¤§16ãã¤ãã®é·ãã«ãµã¤ãºå¤æ´å¯è½ãª8ãã¤ãã®ãããã¡ã¼ã使ããresizable ããããã£ã調ã¹ã¦ãresizable ã true ãè¿ããå ´åã«ãµã¤ãºã夿´ãã¾ãã
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
if (buffer.resizable) {
console.log("Buffer is resizable!");
buffer.resize(12);
}
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-arraybuffer.prototype.resize> |