ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript にはデータ型がいくつありますか? JavaScript でデータ型を判断する方法
JavaScript にはデータ型がいくつありますか? JavaScriptに触れたばかりの友人の中には、このような疑問を持つ人も多いと思います。この章では、JavaScript にはいくつのデータ型があるのかを説明します。 JavaScript でデータ型を決定する方法。困っている友人は参考にしていただければ幸いです。
JavaScript でデータ型を判断するにはどうすればよいですか?次のメソッドを使用できます: typeof、instanceof、constructor、prototype メソッド
js で型を判断する方法、いくつかの例を挙げましょう:
var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new Date(); var e = function(){alert(111);}; var f = function(){this.name="22";};
1 最も一般的な判断方法: typeof() メソッド
alert(typeof a) ------------> string alert(typeof b) ------------> number alert(typeof c) ------------> object alert(typeof d) ------------> object alert(typeof e) ------------> function alert(typeof f) ------------> function
typeof によって返される型はすべて文字列形式であることに注意してください。たとえば、次のようになります。
alert(typeof a == "string") -------------> true alert(typeof a == String) ---------------> false
さらに、typeof は関数の型を決定できます。オブジェクトのタイプを決定することに加えて、オブジェクトを使用するときにさらに便利です。
2. 既知のオブジェクト タイプを決定するメソッド:instanceof
alert(c instanceof Array) ---------------> true alert(d instanceof Date) alert(f instanceof Function) ------------> true alert(f instanceof function) ------------> false
注:instanceof の後にはオブジェクト タイプを指定する必要があり、このメソッドは一部の条件付き選択に適しています。枝。
3. オブジェクトのコンストラクタによる判断:constructor
alert(c.constructor == Array) ----------> true alert(d.constructor == Date) -----------> true alert(e.constructor == Function) -------> true
注:クラス継承時にコンストラクタがエラーとなります
例:
function A(){}; function B(){}; A.prototype = new B(); //A继承自B var aObj = new A(); alert(aobj.constructor === B) -----------> true; alert(aobj.constructor === A) -----------> false;
instanceof メソッドではこの問題は発生しません。オブジェクトの直接継承と間接継承の両方で true が報告されます。
alert(aobj instanceof B) ----------------> true; alert(aobj instanceof B) ----------------> true;
コンストラクターの問題を解決するには、通常、オブジェクトのコンストラクターをポイントさせます。手動でそれ自体にコピーする:
aobj.constructor = A; //将自己的类赋值给对象的constructor属性 alert(aobj.constructor === A) -----------> true; alert(aobj.constructor === B) -----------> false; //基类不会报true了;
4. 汎用的だが非常に面倒なメソッド:prototype
alert(Object.prototype.toString.call(a) === ‘[object String]’) -------> true; alert(Object.prototype.toString.call(b) === ‘[object Number]’) -------> true; alert(Object.prototype.toString.call(c) === ‘[object Array]’) -------> true; alert(Object.prototype.toString.call(d) === ‘[object Date]’) -------> true; alert(Object.prototype.toString.call(e) === ‘[object Function]’) -------> true; alert(Object.prototype.toString.call(f) === ‘[object Function]’) -------> true;
は大文字と小文字を間違えて書くことができないため、より面倒ですが、より汎用性が高くなります。
通常は、typeof を使用して判断できます。オブジェクトの型がわかっている場合は、instanceof またはコンストラクター メソッドを使用できます。
上記は、JavaScript にはいくつのデータ型があるかについてです。 JavaScript でデータ型を決定する方法の完全な紹介 JavaScript ビデオ チュートリアル について詳しく知りたい場合は、PHP 中国語 Web サイトに注目してください。
以上がJavaScript にはデータ型がいくつありますか? JavaScript でデータ型を判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。