Unterschied zwischen == und === in TypeScript
Hallo zusammen! Könnt ihr bitte einem Anfänger in TypeScript erklären: Was ist der grundlegende Unterschied zwischen den Operatoren == und ===? Ich habe gelesen, dass in JavaScript der erste eine Typumwandlung durchführt, während der zweite ein strikter Vergleich ist, aber in TypeScript werden die Typen meines Verständnisses nach bereits streng vom Compiler kontrolliert.
Hier ist ein Beispiel, das mich verwirrt:
const a: number = 5;\nconst b: string = "5";\n\nif (a == b) {\n console.log("Gleich mit ==");\n}\n\nif (a === b) {\n console.log("Gleich mit ===");\n}Die erste if-Anweisung gibt eine Nachricht aus, die zweite nicht. Ich hatte erwartet, dass TypeScript mir nicht einmal erlaubt, number und string ohne explizite Umwandlung zu vergleichen, aber der Code wird kompiliert. Warum passiert das? Sollte TypeScript nicht einen Fehler bei a == b ausgeben?