Saltar al contenido

    ↑↓ mover · ⏎ abrir · esc cerrar

    TS2578

    El error que esperabas ya no está

    Unused '@ts-expect-error' directive.

    Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.

    Le dijiste al compilador que la línea siguiente fallaría, y no falló. Son buenas noticias informadas como error, y es exactamente para lo que sirve la directiva.

    Reproducción

    // @ts-expect-error
    const fine: number = 1

    La compilación afirma que esto emite exactamente este código.

    Por qué lo dice el compilador

    Esta es toda la diferencia entre `@ts-expect-error` y `@ts-ignore`. Ambos suprimen la línea siguiente, pero solo uno se queja cuando la supresión deja de hacer falta. Una base de código llena de `@ts-ignore` acumula silencio que nadie revisa; una que usa `@ts-expect-error` se entera en cuanto un apaño sobrevive al fallo que apañaba.

    Arreglos

    1. 01
      const fine: number = 1

      Borra la directiva. El problema que tapaba ya está arreglado — normalmente por una actualización de dependencia o porque alguien mejoró los tipos aguas arriba.

    2. 02
      // @ts-expect-error
      const broken: number = 'not a number'

      O, si la directiva se desplazó a la línea equivocada durante una edición, devuélvela encima de la línea que sí falla.

    Conclusión

    Prefiere `@ts-expect-error` a `@ts-ignore` en todas partes. Es la única supresión que caduca sola.

    Errores