コンテンツにスキップ

JavaScript/ArrayBuffer

出典: フリー教科書『ウィキブックス(Wikibooks)』

ArrayBuffer

[編集]

概要

[編集]

ArrayBuffer は、生のバイナリデータを表す固定長の生バイトバッファを定義するJavaScriptのオブジェクトです。これは、低レベルのバイナリデータ操作を可能にする、型付き配列とデータビューの基礎となるオブジェクトです。

コンストラクタ

[編集]

ArrayBuffer()

[編集]

new ArrayBuffer(length)

  • 引数
    • length: バッファのサイズ(バイト単位)を指定する非負の整数
  • 戻り値:指定されたサイズの新しい空の ArrayBuffer オブジェクト

静的メソッド

[編集]

ArrayBuffer.isView()

[編集]

ArrayBuffer.isView(arg)

  • 引数
    • arg: 確認するオブジェクト
  • 戻り値:型付き配列または DataView であれば true、そうでない場合は false

ArrayBuffer.transfer()

[編集]

ArrayBuffer.transfer(oldBuffer[, newByteLength])

  • 引数
    • oldBuffer: 転送元の ArrayBuffer
    • newByteLength(オプション):新しいバッファのバイト長
  • 戻り値:新しい ArrayBuffer
  • 説明:元のバッファから新しいバッファへデータを効率的に転送する

プロパティ

[編集]

ArrayBuffer.prototype.byteLength

[編集]
  • 読み取り専用プロパティ
  • バッファのバイト長を返す

メソッド

[編集]

ArrayBuffer.prototype.slice()

[編集]

arrayBuffer.slice(start[, end])

  • 引数
    • start:開始バイトインデックス
    • end(オプション):終了バイトインデックス
  • 戻り値:元のバッファの指定された部分を含む新しい ArrayBuffer

使用例

[編集]
// ArrayBufferの作成constbuffer=newArrayBuffer(16);// 型付き配列での使用constint32View=newInt32Array(buffer);int32View[0]=42;// DataViewでのバイト単位操作constdataView=newDataView(buffer);dataView.setInt16(0,0x1234,true);

注意点

[編集]
  • ArrayBuffer は直接操作できず、型付き配列や DataView を通じてアクセスする
  • メモリ効率が高く、バイナリデータの低レベル操作に適している
  • WebGL、ファイル操作、ネットワークバッファなど、様々な用途で使用される

関連オブジェクト

[編集]

ブラウザサポート

[編集]
  • Internet Explorer 10+
  • Chrome 7+
  • Firefox 4+
  • Safari 5.1+
  • Edge 12+

仕様

[編集]
  • ECMAScript 2015 (ES6)
close