This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

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월⁩.

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

브라우저 호환성

같이 보기