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

JavaScriptのDataView.setInt8()メソッドの使い方を徹底解説

DataViewオブジェクトのsetInt8()メソッドは、指定されたバイトオフセットの位置に、符号付き8ビット整数値を格納します。

構文

構文は以下のとおりです。

dataView.setInt8(byteOffset, value);

第1引数の「byteOffset」には値を格納する位置(ビューの先頭からのバイトオフセット)を、第2引数の「value」には格納する整数値を指定します。

使用例1:基本的な使い方

次の例では、20バイトのArrayBufferを作成し、DataViewを通じて1バイト目に値「362」を格納しています。8ビット符号付き整数で表現できる範囲は-128〜127であるため、362は範囲を超え、値はラップアラウンドされて「106」として格納されます。

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

出力

106

使用例2:浮動小数点数を指定した場合

このメソッドに浮動小数点数の値を渡すことはできません。浮動小数点数を指定した場合、その値は整数として扱われます。そのため、小数点以下は切り捨てられ、結果は例1と同じになります。

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

出力

106

使用例3:値が格納されていない場合

DataViewに何も値が格納されていない状態でデータを取得しようとすると、このメソッドは「0」を返します。

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var arrayBuffer = new ArrayBuffer(20);
      var dataView = new DataView(arrayBuffer);
      dataView.setInt8(1);
      document.write(dataView.getInt8(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):指定したオフセット位置に