JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのArrayBuffer.byteLengthプロパティとは?使い方をサンプルコードで解説


ArrayBuffer.byteLengthプロパティは、ArrayBufferオブジェクトが確保しているメモリのサイズをバイト単位で返す読み取り専用のプロパティです。バッファーにどれだけのデータを格納できるかを確認したい場合に便利で、一度作成したArrayBufferのサイズは後から変更できないため、このプロパティで取得できる値は固定となります。

構文

arraybuffer.byteLength

戻り値

ArrayBufferのサイズを表す数値(バイト数)を返します。

サンプルコード

以下は、ArrayBuffer.byteLengthプロパティを使ってバッファーのサイズを画面に表示する例です。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.sample {
    font-size: 20px;
    font-weight: 500;
}
</style>
</head>
<body>
<h1>JavaScript ArrayBuffer.byteLengthプロパティ</h1>
<div class="sample"></div>
<button class="Btn">クリック</button>
<h3>上のボタンをクリックするとArrayBufferのサイズが表示されます</h3>
<script>
let fillEle = document.querySelector(".sample");
// 8バイトのArrayBufferを作成
var buffer = new ArrayBuffer(8);
// DataViewを使ってバッファーにアクセス
var view1 = new DataView(buffer);
// オフセット0に16ビット整数値を書き込み
view1.setInt16(0, 0x2721);
// 書き込んだ値を16進数で表示
fillEle.innerHTML = view1.getInt16(0).toString(16);
document.querySelector('.Btn').addEventListener('click',()=>{
    // byteLengthプロパティでバッファーのサイズを取得して表示
    fillEle.innerHTML = 'ArrayBufferのサイズは ' + view1.byteLength + ' バイトです';
})
</script>
</body>
</html>

実行結果

ページを読み込んだ直後は、DataView経由で書き込んだ値が16進数で表示されます。

JavaScriptのArrayBuffer.byteLengthプロパティとは?使い方をサンプルコードで解説

「クリック」ボタンを押すと、byteLengthプロパティによって取得されたバッファーのサイズが表示されます。

JavaScriptのArrayBuffer.byteLengthプロパティとは?使い方をサンプルコードで解説

ポイントまとめ

  • byteLengthプロパティは読み取り専用で、値の代入はできません。
  • この例ではnew ArrayBuffer(8)で8バイトのバッファーを作成しているため、表示されるサイズは「8バイト」になります。
  • DataViewやTypedArrayからも同じバッファーのサイズを参照できます。

  1. JavaScriptのlastIndexプロパティとは?正規表現のマッチ位置を取得する方法

    lastIndexプロパティとは JavaScriptにおける「lastIndex」プロパティは、正規表現オブジェクトが持つプロパティの一つで、直前のマッチが終了した位置(インデックス)を返します。そして、次回の検索はその位置から再開されるという仕組みになっています。 重要な注意点として、lastIndexプロパティは「g」(グローバル)フラグが設定されている場合にのみ機能します。「g」フラグがない状態では、lastIndexは常に0のまま変化しないため、連続した検索を行うことができません。 以下は、JavaScriptでlastIndexプロパティを使用する際のコード例です。 サンプルコード

  2. JavaScriptのsourceプロパティとは?正規表現パターンテキストを取得する方法を解説

    JavaScriptのsourceプロパティは、RegExp(正規表現)オブジェクトに設定されたパターン文字列そのものを返すプロパティです。g(グローバルマッチ)やi(大文字・小文字を区別しない)などのフラグは結果に含まれず、マッチング対象となる純粋な正規表現テキストのみを取得できます。 動的に正規表現を組み立てたい場合や、デバッグ時に実際に適用されているパターンを確認したい場合などに活用できる便利なプロパティです。 基本構文 const regex = /pattern/flags; console.log(regex.source); // パターン文字列のみが返される サンプルコード