instanceof 操作符用于檢查對(duì)象是否屬于某個(gè)類的實(shí)例,語(yǔ)法為:object instanceof constructor,其中 object 是要檢查的對(duì)象,constructor 是要檢查其實(shí)例的對(duì)象的構(gòu)造函數(shù)。如果 object 是 constructor 的實(shí)例,則返回 true,否則返回 false。
instanceof 操作符在 JavaScript 中的用法
JavaScript 中的 instanceof
操作符用于檢查一個(gè)對(duì)象是否屬于某個(gè)類的實(shí)例。
語(yǔ)法:
<code>object instanceof constructor</code>
登錄后復(fù)制
其中:
object
是要檢查的對(duì)象。
constructor
是要檢查其實(shí)例的對(duì)象的構(gòu)造函數(shù)。
返回值:
如果 object
是 constructor
的實(shí)例,則返回 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>
登錄后復(fù)制
詳細(xì)解釋:
instanceof
操作符檢查 object
的原型鏈?zhǔn)欠窨梢宰匪莸?constructor
的 prototype 屬性。
如果可以追溯,則 object
是 constructor
的實(shí)例,返回 true
。
如果無(wú)法追溯,則 object
不是 constructor
的實(shí)例,返回 false
。
注意:
所有對(duì)象都是 Object
的實(shí)例,因此 instanceof Object
通常返回 true
。
null
和 undefined
不是任何類的實(shí)例,因此 instanceof
操作符始終返回 false
。
實(shí)例檢查的用途:
instanceof
操作符可用于以下用途:
驗(yàn)證對(duì)象類型(例如,確保函數(shù)傳遞的參數(shù)是所需的類型)。
檢查對(duì)象是否屬于某個(gè)類的子類(例如,確定 Rectangle
對(duì)象是否也是 Shape
對(duì)象)。
執(zhí)行多態(tài)行為(例如,根據(jù)對(duì)象的類型調(diào)用不同的方法)。