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

JavaScriptのArrayBuffer.isView()関数とは?使い方とサンプルコードを解説

JavaScriptのArrayBufferオブジェクトは、固定長のバイナリデータバッファを表します。このオブジェクトが持つisView()関数は、引数を1つ受け取り、その値がArrayBufferのビュー(DataViewや型付き配列)であるかどうかを判定します。ビューであればtrueを返し、そうでなければfalseを返します。

構文

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

arrayBuffer.isView(arg)

引数には、判定対象となる値を指定します。なお、isView()はArrayBufferの静的メソッドであるため、ArrayBuffer.isView()の形式で呼び出す点に注意してください。

使用例

以下のサンプルコードでは、Int32ArrayオブジェクトがArrayBufferのビューかどうかを判定しています。

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var arrayBuffer = new ArrayBuffer(5);
      arrayBuffer = ["apple", "orange", "mango"];
      var bool = ArrayBuffer.isView(new Int32Array())
      document.write(bool);
   </script>
</body>
</html>

出力結果

true

Int32ArrayはArrayBufferのビューに該当するため、trueが返されます。

型付き配列以外の値を渡した場合

同様に、型付き配列以外のオブジェクトや、引数なし・null・undefinedを渡してこの関数を実行すると、いずれの場合もfalseが返されます。

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script>
      var arrayBuffer = new ArrayBuffer(5);
      arrayBuffer = ["apple", "orange", "mango"];
      var bool1 = ArrayBuffer.isView(new Int32Array());
      var bool2 = ArrayBuffer.isView();
      var bool3 = ArrayBuffer.isView(null);
      var bool4 = ArrayBuffer.isView(undefined);
      console.log(bool1);
      console.log(bool2);
      console.log(bool3);
      console.log(bool4);
   </script>
</body>
</html>

出力結果

true
false
false
false

まとめ

ArrayBuffer.isView()は、引数がDataViewや型付き配列(Int8Array、Uint8Array、Float32Arrayなど)といったArrayBufferのビューであるかを簡潔に判定できる便利なメソッドです。バイナリデータを扱う際の型チェックに、ぜひ活用してみてください。

  1. JavaScriptの関数呼び出しの基本!()を使ってコードを実行する方法

    JavaScriptにおける関数の呼び出し(インボケーション)とはJavaScriptでは、一度定義した関数は、関数名の後ろに () を付けることで呼び出すことができます。これを「関数の呼び出し(インボケーション)」と呼びます。関数は定義しただけでは実行されません。呼び出しを行って初めて、関数定義の中括弧 { } 内に記述されたコードが実際に実行されます。以下は、JavaScriptで関数を呼び出す方法を実装したサンプルコードです。サンプルコード<!DOCTYPE html> <html lang="en"> <head> <met

  2. JavaScriptのNumber()関数とは?使い方とサンプルコードを解説

    JavaScriptのNumber()関数は、引数として渡された値やオブジェクトを、それに対応する数値へ変換するための関数です。真偽値や文字列型の数字、さらにはDateオブジェクトなども数値に変換できるため、データ型の変換処理において非常に便利な組み込み関数の一つです。例えば、Number(true)は「1」、Number(false)は「0」を返します。また、数字のみで構成された文字列「149」を渡せば数値の149に変換され、new Date()で生成した日付オブジェクトを渡すと、1970年1月1日からの経過ミリ秒数が返されます。以下に、Number()関数の動作を確認できるサンプルコードを