
Camilo
PreguntaComo saber cuando usar Interfaces y cuando usar Clase???

Alvaro Alejandro Pavon Torres
Utiliza clases cuando necesites crear instancias del objeto, es decir, un usuario necesita tener una instancia durante su sesión, cuando lo único que requieres es que el objeto siga una estructura, utiliza interfaces para que cumplan con el tipo de dato deseado.

Cristian Blandón
No nos vayamos a los extremos... Las interfaces se crearon para alojar la shape (forma) de objetos puntuales; decir que siempre se deben utilizar interfaces es como decir que siempre se deben utilizar objetos literales.
Las clases no son propias de TypeScript, son propias de JavaScript, e incluso, por su funcionamiento "under the hood" (por detrás), pueden optimizar el uso de memoria y rendimiento.
Las interfaces se deben utilizar siempre como la forma de "tipar" un objeto en TypeScript, nunca llegarán a reemplazar una clase (ni sencilla ni compleja). Incluso, una instancia de una clase se puede tipar a través de una interface.
Siempre que vayas a hacer Programación orientada a objetos, y tengas varios "moldes" (clases) de los cuales se vayan a instanciar constantemente objetos, usa Clases, tanto en TypeScript como en JavaScript.
Daniel Meza
Utiliza interfaces siempre. Cuando la complejidad de lo que estás haciendo te requiera usar modelos con clases entonces sí, usa clases 🔥