Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

282
Vistas
TypeScript, ¿por qué usar clases tradicionales en lugar de interfaces?

Puedo hacer esto:

 enum DogsKinds { Labrador, Aski } class Dog { name: string; kind: DogKinds; constructor() {} }

Y luego inicie un objeto de perro:

 const dog = new Dog();

Sin embargo, puedo hacer lo mismo con la interfaz:

 interface Dog { name: string; kind: DogsKind; } const dog: Dog = { name: 'some name', kind: DogsKinds.Labrador }

Y obtenga el mismo resultado, más fácil.

¿Cuáles son las diferencias, cuándo usar la interfaz y cuándo usar las clases? ¿Existe una mejor práctica o regla general?

Parece que es más fácil trabajar con las interfaces, si me equivoco por favor corrígeme.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que una diferencia importante es descubrir en tiempo de ejecución con qué tipo de objeto estás tratando cuando usas la herencia .

Con las clases puedes usar el operador instanceof :

 if (animal instanceof Dog) { /* ... */ }

Cuando solo usa objetos simples con TypeScript, deberá proporcionar una propiedad adicional para diferenciar los tipos durante el tiempo de ejecución.

 type AnimalType = 'dog' | 'cat' interface Dog extends Animal { type: 'dog' name: string; kind: DogsKind; } if (animal.type === 'dog') { /* ... */ }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda