オペレーターのインスタンスを使用して、コンストラクターのプロトタイプ属性が別のプロトタイプチェーンに存在するかどうかを判断してオブジェクトを検出できます。
例1:一般的な使用法
b b:b.prototypeがパラメーターAのプロトタイプチェーンに存在するかどうかを検出します。
function ben(){} var ben = new ben(); console.log(ben instanceof ben); // true例2:継承で、インスタンスがその親クラスに属しているかどうかを判断します
function Ben_parent() {}function Ben_son() {}Ben_son.prototype = new Ben_parent();//Prototype inheritance var ben_son = new Ben_son();console.log(ben_son instanceof Ben_son);//trueconsole.log(ben_son instanceof Ben_parent);//true例3:文字列オブジェクトと日付オブジェクトの両方がオブジェクトタイプに属していることを示します
次のコードでは、InstanceOfを使用して、文字列および日付オブジェクトもオブジェクトタイプに属していることを証明します。
var simplestr = "これは単純な文字列です"; var mystring = new String(); var Newstr = new String( "Constructorで作成された文字列"); var mydate = new date(); var myobj = {}; simpleStr instanceOf string; // falseを返し、プロトタイプチェーンをチェックして、文字列の未定義のマイストリングインスタンスを見つけます。 // struenewstr instance of stringを返します。 //オブジェクトのtruemystringインスタンスを返します。 //オブジェクトのtruemyobj instanceを返します。 //未定義のプロトタイプ({{})インスタンスのオブジェクトにもかかわらず、trueを返します。 //上記のMyStringインスタンスの日付と同じように、trueを返します。 // false instance of falseを返します。 //オブジェクトのtruemydateインスタンスを返します。 // struemydate instance of stringを返します。 // falseを返します例4:MyCarを実証する車の種類に属し、オブジェクトタイプにも属します
次のコードでは、タイプカーとタイプMyCarのオブジェクトインスタンスを作成します。インスタンスの演算子は、このMyCarオブジェクトが車の種類とオブジェクトタイプの両方に属していることを示します。
function car(make、model、year){this.make = make; this.model = model; this.year = year;} var mycar = new car( "honda"、 "accord"、1998); var a = mycar instance of car; // truevar b = mycar instanceof objectを返します。 // trueを返します