我處于這樣一種情況,我需要檢查一個對象是否是子類的實例,但同時instanceof應該false為父類返回。我已經找到了一種方法,但我無法想到這種方法可能會失敗的邊緣情況。這是正確的方法嗎?這是代碼的簡化版本: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 檢查對象是否是當前類的實例
慕斯709654
2023-05-19 16:00:03