ホームページ >ウェブフロントエンド >jsチュートリアル >jsのtypeofとinstanceofとは何ですか?違いは何ですか?
この記事では、js の typeof と instanceof の違いを中心に紹介します。
まず最初に、typeof とは何なのかを簡単に理解してください。
typeof は単項演算であり、オペランドの前に置かれます。オペランドは任意の型にすることができます。戻り値は、オペランドの型を説明する文字列です。 typeof を使用すると、特定の変数のデータ型を検出できます。
instanceof とは何ですか?
instanceof 演算子は、コンストラクターのプロトタイプ属性によって指定されたオブジェクトが、検出される別のオブジェクトのプロトタイプ チェーン上に存在するかどうかを判断するために使用されます。一般に、instanceof を使用すると、インスタンスが特定の型に属するかどうかを判断できます。
js の typeof とinstanceof の類似点:
JavaScript の typeof とinstanceof は、変数が空かどうか、またはその型を判断するためによく使用されます。
相違点:
1. typeof の定義と使用法:
戻り値は文字列です。 、変数のデータ型を記述するために使用されます。
具体的な使用方法の詳細:
1. typeof は通常、次の結果のみを返します:
'未定義': この値は未定義です。
'boolean': この値はブール値です。
'string' : この値は文字列です。
'数値' : この値は数値です。
'object': この値はオブジェクトまたは null です。
'function' : この値は関数です。
2. 変数が存在するかどうかを取得するには、if(a) を使用する代わりに、
#
if(typeof a!="undefined"){alert("ok")}などの typeof を使用します。変数が存在しない (宣言されていない) 場合は、エラーが発生します。
3. Array や Null などの特殊なオブジェクトの場合、typeof は常に object を返します。これが typeof の制限です。
2. インスタンスオブの定義と使用法:
a instanceof b?alert("true"):alert("false"); //a是b的实例?真:假
var a=new Array();alert(a instanceof Array);が返されます true の場合、
alert(a instanceof Object)も true を返します。これは、Array がオブジェクトであるためです。 サブカテゴリ。 別の例:
function test(){};var a=new test();alert(a instanceof test)はオブジェクトを返します。 テスト:
var a=new Array();if (a instanceof Object) alert('Y');else alert('N');は「Y」を取得し、
if (window instanceof Object) alert('Y');else alert('N');は「N」を取得しました。 つまり、ここでinstanceofによってテストされるオブジェクトは、domモデルオブジェクトではなく、js構文のオブジェクトを指します。 typeof を使用する場合、いくつかの違いがあります:
alert(typeof(window))オブジェクトを取得します。 この記事は、js の typeof と instanceof の違いについてです。困っている友人のお役に立てれば幸いです。 さらにフロントエンドの知識ポイントを知りたい場合は、PHP 中国語 Web サイト
JavaScript ビデオ チュートリアル、Bootstrap ビデオ チュートリアル、およびその他の関連チュートリアルを参照してください。皆さんも参考にして学んでください!
以上がjsのtypeofとinstanceofとは何ですか?違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。