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