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

JavaScriptのDataView.setInt16()関数の使い方とサンプルコード解説


DataViewオブジェクトのsetInt16()関数は、ArrayBuffer内の指定した位置(バイトオフセット)に、符号付き16ビット整数を格納するためのメソッドです。

構文

setInt16()関数の構文は以下のとおりです。

dataView.setInt16(byteOffset, value);
  • byteOffset: 値の書き込みを開始する位置をバイト単位で指定します。
  • value: 格納したい整数値を指定します。

なお、第3引数にtrueを指定するとリトルエンディアン形式で、省略またはfalseを指定した場合はビッグエンディアン形式で値が格納されます。

基本的な使用例

次の例では、20バイトのArrayBufferを作成し、1バイト目の位置に整数「3225」を書き込んでいます。その後、getInt16()を使って同じ位置から値を読み出し、画面に表示しています。

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

出力結果

3225

小数値を渡した場合の挙動

この関数には小数値をそのまま渡すことはできません。小数値を渡した場合は整数として扱われ、小数点以下は切り捨てられます。次の例では「564.22」という小数値を指定していますが、実際には「564」という整数として格納されます。

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

出力結果

564

値を指定しなかった場合の挙動

DataViewに何も格納されていない状態でデータを読み取ろうとした場合、この関数は「0」を返します。次の例では、第2引数を省略してsetInt16()を呼び出しているため、読み出し結果は0になります。

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

出力結果

0

  1. JavaScriptの関数パラメーターとは?使い方をサンプルコードで解説

    JavaScriptでは、関数を呼び出すときにさまざまなパラメーター(引数)を渡すことができます。関数側では、渡されたパラメーターを受け取り、それに対して任意の処理を実行することが可能です。また、1つの関数は複数のパラメーターを受け取ることができ、それぞれのパラメーターはカンマ(,)で区切って指定します。さらに、JavaScriptには arguments オブジェクトが用意されており、仮引数として宣言した変数とは別に、実際に関数へ渡されたすべての引数へアクセスできます。以下のサンプルコードでは、Array.from(arguments) を使って受け取った引数を配列化し、順番に画面へ出力して

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

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