JavaScript/Int8Array
Int8Array
編集概要
編集Int8Array は、8ビットの符号付き整数(int8)の型付き配列を表すJavaScriptオブジェクトです。各要素は 8 ビットの整数としてアクセス可能で、小さな整数を効率的に操作することができます。この配列は、基盤となる ArrayBuffer 上で動作します。
コンストラクタ
編集Int8Array()
編集new Int8Array(buffer [, byteOffset [, length]]) new Int8Array(length) new Int8Array(typedArray) new Int8Array(iterable)
- 引数
- buffer: ArrayBuffer または SharedArrayBuffer
- byteOffset (オプション): バイト単位でのオフセット位置(デフォルトは 0)
- length (オプション): 配列の要素数
- length (数値): 配列の要素数を指定する
- typedArray: 既存の型付き配列を基にする
- iterable: 配列や反復可能オブジェクト(Map や Set など)
- 戻り値: 指定された条件に基づく新しい Int8Array
プロパティ
編集Int8Array.BYTES_PER_ELEMENT
編集- 各要素のバイト長(固定値: 1)
Int8Array.prototype.length
編集- 配列内の要素数を返す(読み取り専用)
Int8Array.prototype.buffer
編集- 基盤となる ArrayBuffer を返す
Int8Array.prototype.byteOffset
編集- ArrayBuffer 内の先頭位置をバイト単位で返す
Int8Array.prototype.byteLength
編集- バッファの全体のバイト長を返す
メソッド
編集Int8Array.prototype.set()
編集int8Array.set(array [, offset])
- 引数
- array: コピー元の配列(型付き配列または通常の配列)
- offset (オプション): 書き込みの開始インデックス(デフォルトは 0)
- 戻り値: なし
- 説明: 指定された配列から要素をコピーして設定する
Int8Array.prototype.subarray()
編集int8Array.subarray(begin [, end])
- 引数
- begin: 開始インデックス
- end (オプション): 終了インデックス(デフォルトは配列の終端)
- 戻り値: 元の配列の部分範囲を共有する新しい Int8Array
使用例
編集// Int8Arrayの作成 const buffer = new ArrayBuffer(8); const int8Array = new Int8Array(buffer); // 配列の要素を設定 int8Array[0] = 42; int8Array[1] = -128; console.log(int8Array[0]); // 42 console.log(int8Array[1]); // -128 // 配列のコピー const subArray = int8Array.subarray(0, 1); console.log(subArray[0]); // 42
注意点
編集- Int8Array は 8 ビットの符号付き整数のみを扱い、他の型の値を代入しようとするとエラーになる
- バッファのバイト長は Int8Array.BYTES_PER_ELEMENT(1バイト)の倍数である必要がある
- メモリ効率が重要な場合に特に便利で、ビット単位での操作が求められる場面で使用される
関連オブジェクト
編集- JavaScript/Int16Array
- JavaScript/Int32Array
- JavaScript/TypedArray
- JavaScript/ArrayBuffer
- JavaScript/DataView
ブラウザサポート
編集- Chrome 4+
- Firefox 3.5+
- Safari 4+
- Edge 12+
仕様
編集- ECMAScript 2015 (ES6)