La clase no implementa su interfaz
Class 'L' incorrectly implements interface 'J'.…Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.
La clase dijo `implements` y luego no lo hizo. El detalle de debajo nombra exactamente qué falta o qué no encaja.
Reproducción
interface J { a: number } class L implements J { }
La compilación afirma que esto emite exactamente este código.
Por qué lo dice el compilador
`implements` es una comprobación, no una instrucción: no añade nada a la clase, solo pide al compilador que confirme que la clase ya satisface la interfaz. Por eso quitar la cláusula hace desaparecer el error sin hacer la clase más correcta — la interfaz nunca fue la fuente de los miembros, solo su especificación.
Arreglos
- 01
interface J { a: number } class L implements J { a = 1 }
Implementa lo prometido.
- 02
interface J { a?: number } class L implements J { }
O cambia la especificación, si el miembro nunca fue realmente obligatorio. Solo merece la pena cuando el resto de implementadores puede vivir sin él.
Conclusión
Borrar `implements` para que esto desaparezca elimina lo único que comprobaba la clase. El error es la característica.