ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの型判定方法の紹介(コード例)
この記事ではJavaScriptの型判定方法(コード例)を紹介していますので、参考になると思いますので、困っている方は参考にしていただければ幸いです。
JS のデータ型判定
データ型の判定や、さまざまな複雑な論理判定に対処する必要がある場合がありますが、よく使用されるものから始めましょう。
1.typeof
typeof 演算子は文字列を返し、変数の型を表します。
typeof oper / typeof (operand)
var testString = 'adus', testArray = [], testBoolean = true, testNumber = 0, testObject = {}, testNull = null, testUndefined = undefined console.log(typeof testString);//string console.log(typeof testArray);//object console.log(typeof testBoolean);//boolean console.log(typeof testNumber);//number console.log(typeof testObjec);//object console.log(typeof testNull);//object console.log(typeof testUndefined);//undefined
もちろん、上記の基本的なタイプだけでなく、次のタイプもあります:
Symbol (ECMAScript 6 の新機能) "symbol"
Host オブジェクト (JS 環境によって提供される) 実装依存の
Function オブジェクト ([[Call]] は ECMA-262 句で実装されます) "function"
JavaScript の元の実装では、JavaScript の値は型と実際のデータ値を表すタグによって表されていました。オブジェクトのタイプタグは 0 です。
null は null ポインターを表すため (ほとんどのプラットフォームでは値は 0x00)。
したがって、null の型ラベルも 0 になり、typeof null は誤って「object」を返します。 (参考)
function fnc(){} var newFnc = new fnc(); console.log(newFnc.__proto__ == fnc.prototype);//true console.log( newFnc instanceof fnc ) //true /*String对象和Date对象都属于Object类型和一些特殊情况*/ var simpleStr = "This is a simple string"; var myString = new String(); var newStr = new String("String created with constructor"); var myDate = new Date(); var myObj = {}; var myNonObj = Object.create(null); simpleStr instanceof String; // 返回 false, 检查原型链会找到 undefined myString instanceof String; // 返回 true newStr instanceof String; // 返回 true myString instanceof Object; // 返回 true myObj instanceof Object; // 返回 true, 尽管原型没有定义 ({}) instanceof Object; // 返回 true, 同上 myNonObj instanceof Object; // 返回 false, 一种创建对象的方法,这种方法创建的对象不是Object的一个实例 myString instanceof Date; //返回 false myDate instanceof Date; // 返回 true myDate instanceof Object; // 返回 true myDate instanceof String; // 返回 false3.Object.prototype.toString()各オブジェクトがありますオブジェクトがテキスト値として表される場合、またはオブジェクトが予期される文字列形式で参照される場合に自動的に呼び出される toString() メソッド。デフォルトでは、toString() メソッドはすべての Object オブジェクトによって継承されます。このメソッドがカスタム オブジェクトでオーバーライドされていない場合、toString() は「[オブジェクト タイプ]」を返します。ここで、タイプはオブジェクトのタイプです。 Function.prototype.call( thisArg ) / Function.prototype.apply( thisArg ) チェック対象のオブジェクトを thisArg という名前の最初のパラメーターとして渡します。
var toString = Object.prototype.toString; toString.call(new Date); // [object Date] toString.call(new String); // [object String] toString.call(Math); // [object Math] //Since JavaScript 1.8.5 toString.call(undefined); // [object Undefined] toString.call(null); // [object Null]適切なシナリオで適切なメソッドを使用すると、心配がなくなり、コードの単純さと堅牢性が保証されます。
以上がJavaScriptの型判定方法の紹介(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。