SharedArrayBuffer.prototype.slice()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2021å¹´12æ.
slice() 㯠SharedArrayBuffer ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ããã® SharedArrayBuffer ã®å
é ä½ç½® (å«ã) ããæ«å°¾ä½ç½® (å«ã¾ãªã) ã¾ã§ã®ãã¤ãã®ã³ãã¼ã§ããæ°ãã SharedArrayBuffer ãè¿ãã¾ããéå§ä½ç½®ã¾ãã¯çµãããè² ã®å ´åãããã¯é
åã®æ«å°¾ããã®ã¤ã³ããã¯ã¹ãåç
§ãã¾ãã
æ§æ
slice()
slice(start)
slice(start, end)
弿°
startçç¥å¯-
åãåºãç¯å²ã®å é ã® 0 ããå§ã¾ãã¤ã³ããã¯ã¹ã§ãæ´æ°ã«å¤æããã¾ãã
- è² ã®ã¤ã³ããã¯ã¹ãæå®ããã¨ããããã¡ã¼ã®æ«å°¾ããåã«ã«ã¦ã³ããã¾ãã
-buffer.length <= start < 0ã®å ´åãstart + buffer.lengthã使ç¨ããã¾ãã start < -buffer.lengthã¾ãã¯startãçç¥ãããå ´åã0ã使ç¨ããã¾ããstart >= buffer.lengthã®å ´åã空ã®ãããã¡ã¼ãè¿ããã¾ãã
- è² ã®ã¤ã³ããã¯ã¹ãæå®ããã¨ããããã¡ã¼ã®æ«å°¾ããåã«ã«ã¦ã³ããã¾ãã
endçç¥å¯-
åãåºãç¯å²ã®æ«å°¾ã® 0 ããå§ã¾ãã¤ã³ããã¯ã¹ã§ãæ´æ°ã«å¤æããã¾ãã
slice()ã¯ããã¾ã§ãåãåºãã¾ãããendã®ä½ç½®ã¯å«ãã¾ããã- è² ã®ã¤ã³ããã¯ã¹ãæå®ããã¨ããããã¡ã¼ã®æ«å°¾ããåã«ã«ã¦ã³ããã¾ãã
-buffer.length <= end < 0ã®å ´åãend + buffer.lengthã使ç¨ããã¾ãã end < -buffer.lengthã®å ´åã0ã使ç¨ããã¾ããend >= buffer.lengthã¾ãã¯endãçç¥ããããundefinedã®å ´åãbuffer.lengthã使ç¨ãããæ«å°¾ã¾ã§ã®ãã¹ã¦ã®è¦ç´ ãæ½åºããã¾ããendãstartã示ãä½ç½®ã®åã¾ãã¯ãã®ä½ç½®ãæå³ããå ´åã空ã®ãããã¡ã¼ãè¿ããã¾ãã
- è² ã®ã¤ã³ããã¯ã¹ãæå®ããã¨ããããã¡ã¼ã®æ«å°¾ããåã«ã«ã¦ã³ããã¾ãã
è¿å¤
åãåºããè¦ç´ ãå
¥ã£ãæ°ãã SharedArrayBuffer ã§ãã
ä¾
ãããã®ä¾ã¯ãã³ã³ã½ã¼ã«ãä»»æã®ã¦ã§ããã¼ã¸ããç´æ¥å®è¡ãããã¨ã¯ã§ãã¾ãããSharedArrayBuffer ã¯ããã®ã»ãã¥ãªãã£è¦ä»¶ãæºããããªãéãå®ç¾©ãããªãããã§ãã
slice() ã®ä½¿ç¨
// SharedArrayBuffer ããã¤ãæ°ã§ãµã¤ãºãæå®ãã¦ä½æ
const buffer = new SharedArrayBuffer(16);
const int32View = new Int32Array(buffer);
int32View[1] = 42;
// Int32Array [0, 42, 0, 0] ãç£åº
const sliced = new Int32Array(buffer.slice(4, 12));
console.log(sliced); // Int32Array [42, 0]
æ§ã ãªéå§å¤ã¨çµäºå¤ã®ä½¿ç¨
const sab = new SharedArrayBuffer(1024);
sab.slice(); // SharedArrayBuffer { byteLength: 1024 }
sab.slice(2); // SharedArrayBuffer { byteLength: 1022 }
sab.slice(-2); // SharedArrayBuffer { byteLength: 2 }
sab.slice(0, 1); // SharedArrayBuffer { byteLength: 1 }
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-sharedarraybuffer.prototype.slice> |