Sie können die instanceof
Operator für diese. Von MDN:
Der instanceof-Operator prüft, ob die Prototypeigenschaft einer Konstruktors irgendwo in der Prototypenkette eines Objekts auftaucht.
Wenn Sie nicht wissen, was Prototypen und Prototypenketten sind, empfehle ich Ihnen dringend, das nachzuschlagen. Auch hier ist ein JS (TS funktioniert ähnlich in dieser Hinsicht) Beispiel, das das Konzept klären könnte:
class Animal {
name;
constructor(name) {
this.name = name;
}
}
const animal = new Animal('fluffy');
// true because Animal in on the prototype chain of animal
console.log(animal instanceof Animal); // true
// Proof that Animal is on the prototype chain
console.log(Object.getPrototypeOf(animal) === Animal.prototype); // true
// true because Object in on the prototype chain of animal
console.log(animal instanceof Object);
// Proof that Object is on the prototype chain
console.log(Object.getPrototypeOf(Animal.prototype) === Object.prototype); // true
console.log(animal instanceof Function); // false, Function not on prototype chain
Die Prototypenkette in diesem Beispiel ist:
animal > Animal.prototype > Object.prototype