Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】SharedArrayBuffer::SharedArrayBuffer.prototype.sliceインスタンスメソッドの使い方

SharedArrayBuffer.prototype.slice()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

SharedArrayBuffer.prototype.slice()メソッドは、既存のSharedArrayBufferオブジェクトの指定された範囲をコピーし、そのコピーデータを含む新しいSharedArrayBufferオブジェクトを生成して返すメソッドです。このメソッドは、複数のスレッド間で共有される大容量のバイナリデータバッファから、特定の処理に必要な一部分だけを独立したバッファとして取り出したい場合に利用されます。

このメソッドは主に二つの引数を受け取ります。一つ目の引数であるbeginは、新しいSharedArrayBufferの開始位置をバイト単位で指定します。この引数を省略した場合、デフォルトで0(バッファの先頭)が使用されます。二つ目の引数であるendは、新しいSharedArrayBufferの終了位置をバイト単位で指定します。この位置は含まれません。endを省略した場合、デフォルトで元のSharedArrayBufferの長さ全体が使用されます。どちらの引数も負の数を指定すると、バッファの末尾からのオフセットとして解釈されます。

戻り値として、元のバッファから切り出されたデータのコピーを保持する、新しいSharedArrayBufferオブジェクトを返します。この新しいバッファは、元のバッファとは完全に独立しており、一方のバッファの内容を変更してももう一方には影響しません。Web Workersのような並行処理環境において、共有メモリを柔軟に管理し、特定のデータ範囲のみに焦点を当てて操作するための効率的な手段として非常に有用です。

公式リファレンス: SharedArrayBuffer.prototype.slice()

構文(syntax)

1const sharedArrayBufferInstance = new SharedArrayBuffer(1024);
2const newSharedArrayBuffer = sharedArrayBufferInstance.slice(begin, end);

引数(parameters)

begin = 0, end = this.byteLength

  • begin: number = 0: スライスを開始するバイトオフセット(インデックス)。指定しない場合は0から開始します。
  • end: number = this.byteLength: スライスを終了するバイトオフセット(インデックス)。指定しない場合はバッファの末尾までとなります。

戻り値(return)

SharedArrayBuffer

SharedArrayBuffer.prototype.slice()は、元のSharedArrayBufferオブジェクトの指定された範囲をコピーした新しいSharedArrayBufferオブジェクトを返します。

関連コンテンツ