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 December 2021.

SharedArrayBuffer 인스턴스의 slice() 메서드는 start이상 end미만 이 SharedArrayBuffer의 바이트의 복사본을 내용으로 하는 새로운 SharedArrayBuffer를 반환합니다. start 또는 end가 음수이면 배열의 시작이 아닌 끝부터의 인덱스를 참조합니다.

시도해보기

// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(16);
const int32View = new Int32Array(buffer); // Create the view
// Produces Int32Array [0, 0, 0, 0]

int32View[1] = 42;
const sliced = new Int32Array(buffer.slice(4, 12));

console.log(sliced);
// Expected output: Int32Array [42, 0]

구문

js
slice()
slice(start)
slice(start, end)

매개변수

  • start Optional
    • 추출을 시작할 0 기반 인덱스이며 정수로 변환됩니다.
      • 음수 인덱스는 버퍼의 끝부터 역산합니다. -buffer.length <= start < 0인 경우, start + buffer.length가 사용됩니다.
      • start < -buffer.length 혹은 start가 생력된다면 0이 사용됩니다.
      • start >= buffer.length이라면 빈 버퍼가 반환됩니다.
  • end Optional
    • 추출을 종료할 0 기반 인덱스이며 정수로 변환됩니다. slice()end까지 추출하지만 end는 포함하지 않습니다.
      • 음수 인덱스는 버퍼의 끝부터 역산합니다. -buffer.length <= end < 0인 경우, end + buffer.length가 사용됩니다.
      • end < -buffer.length이라면 00이 사용됩니다.
      • end >= buffer.length 또는 end가 생략된 경우, buffer.length가 사용되어 배열 끝까지 모든 요소가 추출됩니다.
      • 만약 endstart가 암시하는 위치 이전 또는 해당 위치를 암시하는 경우 빈 버퍼가 반환됩니다.

반환 값

추출한 요소를 포함하고 있는 새로운 SharedArrayBuffer.

예제

slice() 같이 보기

js
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® 2025 Language Specification
# sec-sharedarraybuffer.prototype.slice

브라우저 호환성

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
slice

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

같이 보기