JSのtypeofとinstanceofの違いを徹底解説

亚连
リリース: 2018-05-19 15:15:51
オリジナル
1366 人が閲覧しました

JavaScriptのTypeofとinstanceofは、変数が空かどうか、またはその型を判断するためによく使用されます。しかし、それらの間にはまだ違いがあります。必要な場合は、JavaScript の Typeof とinstanceof を参照して、変数が空かどうか、またはその型を判断することができます。しかし、それらの間にはまだ違いがあります。


typeof


typeof はオペランドの前に置かれる単項演算であり、オペランドは任意の型にすることができます。


戻り値は、オペランドの型を説明する文字列です。 Typeof は通常、

数値、ブール値、文字列、関数、オブジェクト、未定義の結果のみを返すことができます。 if(a) を使用する代わりに、typeof を使用して、変数が存在するかどうかを取得することができます (例: if(typeof a!="unknown"){alert("ok")}。 a が存在しない (宣言されていない) 場合は、エラーが発生した場合、配列や Null などの特殊なオブジェクトに対して typeof を使用すると、常に object が返されます。これは typeof の制限です。


instanceof


instance:instance, example


ainstanceof b?alert("true"):alert("false"); // a は b のインスタンスですか? True: False


instanceof は、var a=new Array(); のように、変数がオブジェクトのインスタンスであるかどうかを判断するために使用されます。また true を返します。これは、Array がオブジェクトのサブクラスであるためです。別の例: function test(){};var a=new test();alert(a instanceof test) は


を返します。instanceof について言えば、関数 We all の引数であるもう 1 つの質問を挿入する必要があります。引数は Array だと思うかもしれませんが、instanceof を使ってテストすると、見た目は似ていても、arguments は Array オブジェクトではないことがわかります。


また:


Test var a=new Array();if (オブジェクトのインスタンス)alert('Y');elsealert('N');


got 'Y'


but if (windowinstanceofObject)alert('Y');elsealert('N');


gets'N'


したがって、ここでinstanceofによってテストされるオブジェクトは、domモデルではなく、js構文のオブジェクトを参照します物体。


typeofを使用する場合、いくつかの違いがあります


alert(typeof(window))がオブジェクトを取得します

上記は、すべての人のためにまとめたものです。将来、すべての人に役立つことを願っています。

関連記事:

JS演算子単一縦棒「|」と「||」の使い方解説


JSフルスクリーンとフルスクリーン終了の詳細解説(コード含む)


JavaScriptの一般的な関数とコンストラクターの違い (コードと組み合わせて、詳しく説明します)


以上がJSのtypeofとinstanceofの違いを徹底解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!