Is there a static equivalent of instanceof? I.E., rather than:
obj1 instanceof Type
something like:
TypeA instanceof TypeB?
I couldn't find anything on the matter, so I hacked together this:
function InstanceOf(type,parent) {
do{ if(type === parent) return true;}
while(type = Object.getPrototypeOf(type));
return false;
}
//...
Instanceof(ChildClass, ParentClass); // = boolean
But I feel like there's a better/more native way to do this, but again, can't find anything on it.
Is there a better/standard way do check static class inheritance? Or is my hack about the best it's gonna get?
Update
So, I got curious and ran a perf test on both the version I hacked and the one provided by the accepted answer, and the getPrototypeOf version is about twice as fast when ran 100,000 times.
Also, no, I can't post the test code, I did it in the node REPL
You can use
isPrototypeOf.