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

JavaScriptのDataView.getUint16()メソッドとは?使い方と実行例をわかりやすく解説


DataViewオブジェクトのgetUint16()メソッドは、ArrayBuffer内の指定された位置(バイトオフセット)から符号なし16ビット整数を読み取り、その値を返します。バイナリデータを直接操作したい場合に活躍するメソッドです。

構文

基本的な構文は以下のとおりです。

dataView.getUint16(byteOffset, littleEndian);

byteOffset:読み取りを開始する位置をバイト単位で指定します。
littleEndian:省略可能な引数です。true を指定するとリトルエンディアン形式で読み取り、false または省略した場合はビッグエンディアン形式で読み取ります。

使用例

次の例では、setUint16() メソッドで ArrayBuffer の1バイト目に値「45544」を書き込み、getUint16() メソッドでその値を読み出しています。

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var arrayBuffer = new ArrayBuffer(20);
        var dataView = new DataView(arrayBuffer);
        dataView.setUint16(1, 45544);
        document.write(dataView.getUint16(1));
    </script>
</body>
</html>

実行結果

45544

小数値を渡した場合

このメソッドに小数(浮動小数点数)の値を渡すことはできません。小数を渡した場合、自動的に整数値へ変換されて処理されます。次の例では「455.44」が整数「455」として扱われます。

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var arrayBuffer = new ArrayBuffer(20);
        var dataView = new DataView(arrayBuffer);
        dataView.setUint16(1, 455.44);
        document.write(dataView.getUint16(1));
    </script>
</body>
</html>

実行結果

455

値が格納されていない場合

DataView に何も値が書き込まれていない状態でデータを取得しようとした場合、このメソッドは「0」を返します。ArrayBuffer は初期状態ですべてのバイトが0で埋められているためです。

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var arrayBuffer = new ArrayBuffer(20);
        var dataView = new DataView(arrayBuffer);
        dataView.setUint16(1);
        document.write(dataView.getUint16(1));
    </script>
</body>
</html>

実行結果

0
  1. JavaScriptのapply()メソッドとは?別オブジェクトで関数を再利用する方法を解説

    JavaScriptのapply()メソッドとは JavaScriptのapply()メソッドを使用すると、あるオブジェクト向けに定義したメソッドを、別のオブジェクトでもそのまま再利用できます。最大の特徴は、関数に渡す引数を配列としてまとめて指定できる点です。これにより、柔軟で使い回しやすい関数設計が可能になります。 apply()の基本構文は以下のとおりです。 func.apply(thisArg, [arg1, arg2, ...]) 第1引数(thisArg):関数内でthisとして参照されるオブジェクトを指定します。 第2引数(argsArray):関数へ渡す引数を配列形式で指定しま

  2. JavaScript DataView()とは?ArrayBufferのバイナリデータを読み書きする方法

    JavaScript の DataView は、ArrayBuffer(バイナリデータ)に対して、さまざまな数値型の読み書きを行うための低レベルインターフェースを提供するオブジェクトです。DataView を使うことで、1バイト単位で細かく制御しながら、Int16、Int32、Float64 など複数の数値型として同じバッファにアクセスできます。なお、ArrayBuffer はそのままでは直接操作できないため、DataView や TypedArray を介してアクセスする必要があります。DataView の主なメソッドsetInt16(offset, value):指定したオフセット位置に