BigUint64Array

編集

概要

編集

BigUint64Array は、64ビットの符号なし整数(BigInt)の型付き配列を表すJavaScriptオブジェクトです。各要素は BigInt 値としてアクセス可能で、大きな整数を効率的に操作することができます。この配列は、基盤となる ArrayBuffer 上で動作します。

コンストラクタ

編集

BigUint64Array()

編集
new BigUint64Array(buffer [, byteOffset [, length]])
new BigUint64Array(length)
new BigUint64Array(typedArray)
new BigUint64Array(iterable)
  • 引数
    • buffer: ArrayBuffer または SharedArrayBuffer
    • byteOffset (オプション): バイト単位でのオフセット位置(デフォルトは 0)
    • length (オプション): 配列の要素数
    • length (数値): 配列の要素数を指定する
    • typedArray: 既存の型付き配列を基にする
    • iterable: 配列や反復可能オブジェクト(Map や Set など)
  • 戻り値: 指定された条件に基づく新しい BigUint64Array

プロパティ

編集

BigUint64Array.BYTES_PER_ELEMENT

編集
  • 各要素のバイト長(固定値: 8)

BigUint64Array.prototype.length

編集
  • 配列内の要素数を返す(読み取り専用)

BigUint64Array.prototype.buffer

編集
  • 基盤となる ArrayBuffer を返す

BigUint64Array.prototype.byteOffset

編集
  • ArrayBuffer 内の先頭位置をバイト単位で返す

BigUint64Array.prototype.byteLength

編集
  • バッファの全体のバイト長を返す

メソッド

編集

BigUint64Array.prototype.set()

編集
bigUint64Array.set(array [, offset])
  • 引数
    • array: コピー元の配列(型付き配列または通常の配列)
    • offset (オプション): 書き込みの開始インデックス(デフォルトは 0)
  • 戻り値: なし
  • 説明: 指定された配列から要素をコピーして設定する

BigUint64Array.prototype.subarray()

編集
bigUint64Array.subarray(begin [, end])
  • 引数
    • begin: 開始インデックス
    • end (オプション): 終了インデックス(デフォルトは配列の終端)
  • 戻り値: 元の配列の部分範囲を共有する新しい BigUint64Array

使用例

編集
// BigUint64Arrayの作成
const buffer = new ArrayBuffer(16);
const bigUint64Array = new BigUint64Array(buffer);

// 配列の要素を設定
bigUint64Array[0] = 42n;
bigUint64Array[1] = 123456789123456789n;

console.log(bigUint64Array[0]); // 42n
console.log(bigUint64Array[1]); // 123456789123456789n

// 配列のコピー
const subArray = bigUint64Array.subarray(0, 1);
console.log(subArray[0]); // 42n

注意点

編集
  • BigUint64Array は BigInt のみを扱い、他の型の値を代入しようとするとエラーになる
  • バッファのバイト長は BigUint64Array.BYTES_PER_ELEMENT(8バイト)の倍数である必要がある
  • WebAssembly や暗号化処理、ファイル操作など、64ビット精度が求められる場面で使用される

関連オブジェクト

編集

ブラウザサポート

編集
  • Chrome 67+
  • Firefox 68+
  • Safari 14+
  • Edge 79+

仕様

編集
  • ECMAScript 2020 (ES11)