instanceof 操作符用于檢查對象是否屬于某個類的實例,語法為:object instanceof constructor,其中 object 是要檢查的對象,constructor 是要檢查其實例的對象的構造函數。如果 object 是 constructor 的實例,則返回 true,否則返回 false。
instanceof 操作符在 JavaScript 中的用法
JavaScript 中的 instanceof
操作符用于檢查一個對象是否屬于某個類的實例。
語法:
<code>object instanceof constructor</code>
登錄后復制
其中:
object
是要檢查的對象。
constructor
是要檢查其實例的對象的構造函數。
返回值:
如果 object
是 constructor
的實例,則返回 true
。
否則返回 false
。
示例:
<code class="js">const person = new Person(); console.log(person instanceof Person); // true console.log(person instanceof Object); // true console.log(person instanceof Array); // false</code>
登錄后復制
詳細解釋:
instanceof
操作符檢查 object
的原型鏈是否可以追溯到 constructor
的 prototype 屬性。
如果可以追溯,則 object
是 constructor
的實例,返回 true
。
如果無法追溯,則 object
不是 constructor
的實例,返回 false
。
注意:
所有對象都是 Object
的實例,因此 instanceof Object
通常返回 true
。
null
和 undefined
不是任何類的實例,因此 instanceof
操作符始終返回 false
。
實例檢查的用途:
instanceof
操作符可用于以下用途:
驗證對象類型(例如,確保函數傳遞的參數是所需的類型)。
檢查對象是否屬于某個類的子類(例如,確定 Rectangle
對象是否也是 Shape
對象)。
執行多態行為(例如,根據對象的類型調用不同的方法)。