JavaScriptデータ型:Typeofの説明

typeofは、呼び出したときに変数のタイプを返すJavaScriptキーワードです。これを使用して、関数パラメーターを検証したり、変数が定義されているかどうかを確認したりできます。他の用途もあります。

typeofそれはあなたのコード内の変数の型をチェックする簡単な方法であるため、オペレータは便利です。JavaScriptは動的に型付けされた言語であるため、これは重要です。これは、変数を作成するときに変数に型を割り当てる必要がないことを意味します。変数はこのように制限されていないため、その型はプログラムの実行中に変更される可能性があります。

例えば:

var x = 12345; // number x = 'string'; // string x = { key: 'value' }; // object

上記の例からわかるように、JavaScriptの変数は、プログラムの実行中に型を変更できます。これはプログラマーとして追跡するのが難しい場合があり、ここでtypeofオペレーターが役立ちます。

typeofオペレータは、変数の現在の種類を表す文字列を返します。typeof(variable)またはを入力して使用しますtypeof variable。前の例に戻ると、これを使用してx、各段階で変数のタイプを確認できます。

var x = 12345; console.log(typeof x) // number x = 'string'; console.log(typeof x) // string x = { key: 'value' }; console.log(typeof x) // object

これは、関数内の変数の型をチェックし、必要に応じて続行する場合に役立ちます。

文字列または数値である変数を受け取ることができる関数の例を次に示します。

function doSomething(x) { if(typeof(x) === 'string') { alert('x is a string') } else if(typeof(x) === 'number') { alert('x is a number') } }

typeof演算子が役立つもう1つの方法は、コードで変数にアクセスする前に、変数が定義されていることを確認することです。これは、定義されていない変数にアクセスしようとした場合に発生する可能性のあるプログラムのエラーを防ぐのに役立ちます。

function(x){ if (typeof(x) === 'undefined') { console.log('variable x is not defined'); return; } // continue with function here... }

typeof演算子の出力は、数値をチェックするときに期待したものとは限らない場合があります。

数値は、複数の理由で値NaN(数値ではない)に変わる可能性があります。

console.log(typeof NaN); //"number"

オブジェクト内の数値にアクセスするのを忘れたために、オブジェクトで数値を乗算しようとした可能性があります。

var x = 1; var y = { number: 2 }; console.log(x * y); // NaN console.log(typeof (x * y)); // number

番号をチェックすると、の出力をチェックするのに十分ではないtypeofことから、多数のためにNaNも、

このテストに合格します。

この関数は数値をチェックし、NaN値を渡すこともできません。

function isNumber(data) { return (typeof data === 'number' && !isNan(data)); }

これは便利な検証方法ですが、javascriptには奇妙な部分がいくつかあり、そのうちの1つはtypeof特定の命令の結果であるため、注意が必要です。たとえば、JavaScriptでは、多くのことがobjectsわかります。

var x = [1,2,3,4]; console.log(typeof x) // object console.log(typeof null) // object

詳しくは:

typeofのMDNドキュメント