instanceof

Javascript Check : instanceof

instanceof prüft, ob ein Objekt zu einem bestimmten Datentyp gehört oder von diesem Datentyp geerbt hat. Der Operand kann ein Literal oder eine Variable, eine Funktion oder ein Objekt sein.

18-12-15 SITEMAP

instanceof-Operator

instanceof gibt true zurück, wenn das Objekt eine Instanz des entspr. Datentyps ist und false, wenn nicht.

let books = ["Passing Through", "Paintbox", "The Lost Lecture Notes", "Per Anhalter durch die Galaxis"];



	

instanceof wird zur Laufzeit benutzt, um den Typ eines Objekts festzustellen.

let theDay = new Date(1995, 12, 17)
if (theDay instanceof Date) {
   // Anweisungen
}
let today=new Date();
console.log (today instanceof Number) // false, da  today keine Zahl ist.




instanceof oder typeof

instanceof ist der Check für komplexe Datentypen, typeof für einfache Datentypen.



	

Bemerkenswert ist

["Fiat", "Golf"] instanceof Array   // true;
["Fiat", "Golf"] instanceof Object  // true;

Ein Array gehört auch zum Datentyp Object, denn Array erbt via Prototype vom Object. instanceof untersucht also auch die Prototype-Kette bei der Untersuchung.

Der instanceof-Operator testet, ob in der Prototype-Kette des Objekts die Prototyp-Eigenschaft des Konstruktors liegt.

instanceof und Javascript Class

Javascript Class ist ein aufgeblühtes Javascript Object, also testet instanceof auch, ob ein Object die Instanz einer Klasse ist.

Technisch gesehen prüft der instanceof-Operator die Prototyp-Kette, um herauszufinden, ob ein Konstruktor in der Kette der angegebenen Klasse entspricht. Wird also Inheritance – Vererbung – eingesetzt, ist die Instanz einer Unterklasse ebenfalls eine Instanz der Basisklasse.

(c instanceof Cheesecake) // true
(c instanceof Cake)       // true
(c instanceof Object)     // true