【JSデータタイプ】JSでの判定データタイプ関数
2210 ワード
一、JSにおける基本データタイプのstring、bollan、null、undefined、number、smbol(ES 6)基本データタイプは、通常、字面量を直接利用して赋価する場合を指しますが、初期化された基本データタイプ(即ちvar a=1234)に対しては、直接にその対応対象を呼び出す方法です.再起動方法の本質は、ブラウザが基本データタイプの箱詰めと箱切り操作を実現し、メソッドを呼び出した時に対象に変換し、呼び出しが完了したらベースデータタイプに復帰することです.ただし、初期化されていない変数については、直接オブジェクトメソッドを呼び出すことはできません.プログラムでは、そのデータの種類を判断できません.2.tostring()はエラーが発生しますが、2.2.tostring()はできません.2.実はnumberタイプなので、箱詰め作業を成功させて、関連する方法を呼び出すことができます.二、データタイプの関数1を判断し、typeof演算子を利用する場合、その中にnullだけが異常で、typeof(null)=objectがあるので、変数タイプがnullかどうかを判断する時は注意します.typeofを同時に利用する場合は、宣言されていない変数についてはエラーなく、undefinedに戻ります.大域変数と関数変数は、宣言がないときに使用するとエラーが発生しますが、オブジェクト内で定義されていない属性を使用するとエラーが発生しません.同様にundefinedが返されます.Function変数は、length属性を有し、その長さは着信パラメータの個数である.2、JSの対象をObject、Stringなどのnew方式で生成した変数を利用して、typeofでそのタイプを判断した場合はすべてObjectであるが、typeof Object、type of Funct、typeof StringはいずれもFunctである.未定義または未宣言の変数については、typeofオペレータの結果は、いずれもundefinedであり、宣言されていない変数については、typeofの1つの演算のみであり、厳密でないモードでdeleteが宣言していない変数は、エラーを報告しないが、使用を推奨しない.
var a =new String("133");
typeof(a) //object
3、変数は弱いタイプです.つまり、その値自体はタイプがなく、その値がタイプを持っています.以上、typeofを利用してタイプ判断を行うのは万全ではない.Object.prototype.toString.call()を利用して変数タイプ判断を行うのが適当である.Object.prototype.toString.call(new RegExp())
"[object RegExp]"
Object.prototype.toString.call(new String())
"[object String]"
Object.prototype.toString.call("123")
"[object String]"
基本データタイプであろうと、Objectのデータタイプであろうと、変数は2番目のパラメータでデータの種類を判断できます.いい方法ですか?!!