我處于這樣一種情況,我需要檢查一個(gè)對(duì)象是否是子類的實(shí)例,但同時(shí)instanceof應(yīng)該false為父類返回。我已經(jīng)找到了一種方法,但我無法想到這種方法可能會(huì)失敗的邊緣情況。這是正確的方法嗎?這是代碼的簡化版本:class Employee { static [Symbol.hasInstance]( instance ) { return Object.getPrototypeOf( instance ) === this.prototype; }}class Manager extends Employee {}class AssistantManager extends Manager {}const e1 = new AssistantManager( 'Dean' );console.log( e1 instanceof Employee ) // falseconsole.log( e1 instanceof Manager ) // falseconsole.log( e1 instanceof AssistantManager ) // true
JavaScript 檢查對(duì)象是否是當(dāng)前類的實(shí)例
慕斯709654
2023-05-19 16:00:03