Diferencia entre 'extends' e 'implements' en TypeScript

Hoy un amigo me preguntó sobre la diferencia entre extends e implements.
class Media {
format: string;
}
class Video extends Media {}
class Image implements Media {}La respuesta rápida para él fue:
extends: la clase obtiene todos los métodos y propiedades del padre, por lo que no tienes que implementarlos.
implements: la clase tiene que implementar los métodos y propiedades.
Espero que esto ayude a cualquiera que tenga la misma duda.
Foto de Andrew Nemeth en Unsplash
Modern frontend development — Angular, React, TypeScript, accessibility, and performance.
Artículos Relacionados
Clases abstractas en TypeScript
En TypeScript, las clases pueden heredar de otras para compartir métodos y propiedades. Además, TypeScript permite usar clases abstractas. Te muestro por qué y cuándo utilizarlas con un ejemplo práctico.
3 formas de transformar tipos en TypeScript
Cuando usamos tipos o interfaces en TypeScript, el compilador exige que el objeto coincida con ellos para evitar errores en tiempo de ejecución por propiedades faltantes. A veces queremos la flexibilidad de crear un objeto sin romper el contrato con la interfaz.
Evita comprobar null o undefined en TypeScript usando Optional Chaining y Nullish Coalescing
TypeScript ofrece características muy prácticas que hacen que el código sea más conciso y eficiente. El encadenamiento opcional y la coalescencia nula juegan un papel clave para manipular datos de forma segura en tus proyectos.
Rendimiento en Next.js: lo que la configuración por defecto no resuelve por ti
Next.js ofrece una base sólida de rendimiento por defecto. Pero rápido por defecto no significa rápido siempre. Durante los últimos días estuve trabajando con Next.js y React Server Components, asumiendo que el framework resolvería la mayoría de los problemas de rendimiento por mí. Y...
Cómo probar métodos privados en TypeScript
Aprende cuatro formas prácticas de probar métodos privados en TypeScript, comprende las diferencias entre private de TypeScript y los campos privados de JavaScript, y conoce las mejores prácticas.
Compartir este artículo
Si esta guía te resultó útil, compártela con tu equipo o con otros desarrolladores.
Software real. Lecciones reales.
Comparto las lecciones que aprendí por las malas, para que puedas evitarlas o estar preparado cuando ocurran.
Únete a 13,800+ desarrolladores y lectores.
Cero spam. Cancela tu suscripción en cualquier momento.