私は以前に時々インスタンスとタイプを使用し、特にTypeofを使用しましたが、もっと使用しました。今日、私は多くの場所でextソースコードを勉強し、インスタンスを使用しました。私は突然、それらがやや似ていると感じましたが、違うはずです。私はいくつかの記事をオンラインで読んで、それらの間の関係について特定の理解を持っています。
InstanceOFおよびTypeOFを使用して、変数が空であるか、どのタイプの変数かを判断できます。
TypeOFは、変数のタイプを取得するために使用されます。 Typeofは通常、次の結果のみを返すことができます:数、ブール、文字列、関数、オブジェクト、未定義です。 typeOFを使用して、(a)が存在しない場合(宣言されていない)場合、エラーが発生するため、(a)を使用する代わりに、(a)if(a)を使用する代わりに、(typeof a!= "undefined"){}などの変数が存在するかどうかを取得できます。配列、ヌルなどの特別なオブジェクトの場合、オブジェクトを返します。これがTypeOFの制限です。
オブジェクトが配列であるかどうかを取得する場合、または変数がオブジェクトのインスタンスであるかどうかを判断する場合は、InstanceOFを使用することを選択する必要があります。 InstanceOFは、変数がオブジェクトのインスタンスであるかどうかを判断するために使用されます。たとえば、var a = new array(); alert(aslanceof array); trueを返し、アラート(オブジェクトのインスタンス)もtrueを返します。これは、配列がオブジェクトのサブクラスであるためです。例:function test(){}; var a = new test(); alert(aintanceof test)はtrueを返します。
InstanceOFに関しては、もう1つの問題、つまり関数引数を挿入する必要があります。引数は配列であると考えるかもしれませんが、InstanceOfを使用してテストすると、引数は非常に似ていますが、アレイオブジェクトではないことがわかります。