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のビューであるかを簡潔に判定できる便利なメソッドです。バイナリデータを扱う際の型チェックに、ぜひ活用してみてください。
-
JavaScriptの関数呼び出しの基本!()を使ってコードを実行する方法
JavaScriptにおける関数の呼び出し(インボケーション)とはJavaScriptでは、一度定義した関数は、関数名の後ろに () を付けることで呼び出すことができます。これを「関数の呼び出し(インボケーション)」と呼びます。関数は定義しただけでは実行されません。呼び出しを行って初めて、関数定義の中括弧 { } 内に記述されたコードが実際に実行されます。以下は、JavaScriptで関数を呼び出す方法を実装したサンプルコードです。サンプルコード<!DOCTYPE html> <html lang="en"> <head> <met
-
JavaScriptのNumber()関数とは?使い方とサンプルコードを解説
JavaScriptのNumber()関数は、引数として渡された値やオブジェクトを、それに対応する数値へ変換するための関数です。真偽値や文字列型の数字、さらにはDateオブジェクトなども数値に変換できるため、データ型の変換処理において非常に便利な組み込み関数の一つです。例えば、Number(true)は「1」、Number(false)は「0」を返します。また、数字のみで構成された文字列「149」を渡せば数値の149に変換され、new Date()で生成した日付オブジェクトを渡すと、1970年1月1日からの経過ミリ秒数が返されます。以下に、Number()関数の動作を確認できるサンプルコードを