ArrayBuffer.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 2015å¹´7æ.
slice() 㯠ArrayBuffer ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ãæ°ãã ArrayBuffer ãè¿ãããã®å
容ã¯ãã® ArrayBuffer ã® start ãã end ã®æåã¾ã§ãã³ãã¼ãã¾ããstart ã¾ã㯠end ã®ãããããè² ã®å ´åãé
åã®å
é ããã§ã¯ãªããæ«å°¾ããã®ã¤ã³ããã¯ã¹ãæãã¾ãã
試ãã¦ã¿ã¾ããã
// ArrayBuffer ããã¤ãåä½ã®ãµã¤ãºã§ä½æ
const buffer = new ArrayBuffer(16);
const int32View = new Int32Array(buffer);
// Int32Array [0, 0, 0, 0] ã使
int32View[1] = 42;
const sliced = new Int32Array(buffer.slice(4, 12));
// Int32Array [42, 0] ã使
console.log(sliced[0]);
// äºæ³ãããçµæ: 42
æ§æ
slice()
slice(start)
slice(start, end)
弿°
startçç¥å¯-
æ½åºãå§ããä½ç½®ã®ã¼ãããå§ã¾ãã¤ã³ããã¯ã¹ã§ãæ´æ°ã«å¤æããã¾ãã
- ã¤ã³ããã¯ã¹ãè² ã®å ´åãé
åã®æ«å°¾ããããã®ã¼ã£ã¦æ°ãã¾ãã
-buffer.length <= start < 0ã®å ´åãstart + buffer.lengthã使ç¨ããã¾ãã start < -buffer.lengthã¾ãã¯startãçç¥ãããå ´åã¯0ã使ç¨ããã¾ããstart >= buffer.lengthã®å ´åã空ã®é åãè¿ããã¾ãã
- ã¤ã³ããã¯ã¹ãè² ã®å ´åãé
åã®æ«å°¾ããããã®ã¼ã£ã¦æ°ãã¾ãã
endçç¥å¯-
æ½åºãçµããä½ç½®ã®ã¼ãããå§ã¾ãã¤ã³ããã¯ã¹ã§ãæ´æ°ã«å¤æããã¾ãã
slice()ã¯endãå«ã¾ãããã®ç´åã¾ã§ãæ½åºãã¾ãã- ã¤ã³ããã¯ã¹ãè² ã®å ´åãé
åã®æ«å°¾ããããã®ã¼ã£ã¦æ°ãã¾ãã
-buffer.length <= end < 0ã®å ´åãend + buffer.lengthã使ç¨ããã¾ãã end < -buffer.lengthã®å ´åã¯0ã使ç¨ããã¾ããend >= buffer.lengthã¾ãã¯endãçç¥ãããå ´åã¯buffer.lengthã使ç¨ãããæå¾ã¾ã§ãã¹ã¦ã®è¦ç´ ãæ½åºããã¾ããendãstartã示ãä½ç½®ãããåã¾ãã¯ãã®ä½ç½®ã示ãå ´åã空ã®é åãè¿ããã¾ãã
- ã¤ã³ããã¯ã¹ãè² ã®å ´åãé
åã®æ«å°¾ããããã®ã¼ã£ã¦æ°ãã¾ãã
è¿å¤
æ½åºããè¦ç´ ãå
¥ã£ãæ°ãã ArrayBuffer ã§ããå
ããªãµã¤ãºå¯è½ã§ãã£ã¦ããªãµã¤ãºå¯è½ã§ã¯ããã¾ããã
ä¾
>ArrayBuffer ã®ã³ãã¼
const buf1 = new ArrayBuffer(8);
const buf2 = buf1.slice(0);
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-arraybuffer.prototype.slice> |