Diferencia entre == y === en TypeScript
¡Hola a todos! Por favor, explíquenle a un principiante en TypeScript: ¿cuál es la diferencia fundamental entre los operadores == y ===? He leído que en JavaScript el primero hace conversión de tipos, mientras que el segundo es una comparación estricta, pero en TypeScript, según entiendo, los tipos ya están estrictamente controlados por el compilador.
Aquí hay un ejemplo que me confunde:
const a: number = 5;\nconst b: string = "5";\n\nif (a == b) {\n console.log("Igual con ==");\n}\n\nif (a === b) {\n console.log("Igual con ===");\n}El primer if muestra un mensaje, el segundo no. Esperaba que TypeScript ni siquiera me permitiera comparar number y string sin una conversión explícita, pero el código se compila. ¿Por qué sucede esto? ¿Acaso TypeScript no debería dar un error en a == b?