@SebastianSimon meine letzte Antwort ist 8 Jahre alt (als ich lahmte) und es ist möglich, dass ich irgendeinen Bull*hit geschrieben habe :)
Kurz gesagt - derzeit sind die einzigen Fälle, in denen ich die instanceof
ist, wenn ich die class
Instanzen und das Verhalten hängt von der Klasse ab, die ich erhalten werde, z. B. Ich möchte unterscheiden, ob 404 ErrorA (Ressource nicht vorhanden) oder ErrorB (Dienst nicht gefunden) ist - Bibliothek Antwortcodes waren verwirrend, aber für mein Glück warf es mit verschiedenen Fehlerklassen.
Definitiv (derzeit) würde ich NICHT verwenden, um Typen zu prüfen, die Primitive widerspiegeln - Sie können nicht sicher sein, ob die Bibliothek 'msg'
o new String('msg')
.
Beide haben Methoden, die zu String
Klasse, weil 'msg'
Primitiv wird intern in ein String-Objekt umgewandelt. Intern bedeutet durch Interpreter. Sie sind beide Strings
sondern instanceof
Operator scheint hier unzureichend zu sein - um zu prüfen, ob etwas primitiv oder eine Klasse ist, würde ich mix of verwenden typeof
&& instanceof
- aber nur für etwas, das von einer externen JS-Bibliothek zurückgegeben wird.
Momentan löst TypeScript dieses Problem und man muss nicht mehr solche umständlichen Prüfungen mit typeof
y instanceof
.