Inicio·Mensajes de error

tsc · Compilación y tipos

El mensaje

error TS7006: Parameter 'req' implicitly has an 'any' type.

Qué significa

El parámetro no lleva tipo escrito y tsc no tenía de dónde inferirlo, así que pasó a ser any de forma implícita, y noImplicitAny lo considera un error. Aparece en archivos migrados de JavaScript y cuando se extrae un callback a su propia variable; en cambio, un callback escrito en línea como items.map(x => ...) tiene contexto y tsc lo infiere, así que esto no salta. Escribir el tipo ahí es la solución. También puedes poner any explícitamente, pero eso es decidir apagar la comprobación por completo en ese parámetro: cuando no sabes qué es, unknown es más honesto y te obliga a estrechar antes de usarlo.

El arreglo

No hay un comando de una línea. La explicación dice qué revisar.

Lo imprime
tsc
Compilación y tipos
10

Los errores de compilación son una herramienta que se niega antes de que nada se ejecute, así que no rompen nada en el momento en que aparecen, pero plantean dos preguntas: ¿arreglarás el tipo o la ruta para que coincidan con la forma real, o empujarás esa única línea con un as any o un comentario de supresión? Y es aquí donde las cosas que solo son ciertas en tu máquina —mayúsculas, extensiones y variables de entorno— se muestran por primera vez.

Cómo leer un mensaje de error

  • Lee desde la primera línea. Cuanto más abajo, más son las tripas de la herramienta; la causa suele estar arriba.
  • Si hay un archivo y un número de línea, empieza ahí: no el marco superior de la pila, sino la línea más alta que nombre un archivo tuyo.
  • Busca el mensaje literal, pero quita antes tus rutas y nombres de variables: eso es lo que impide que la búsqueda coincida.
  • La misma condición se redacta distinto según la versión. Si los resultados no cuadran, añade el número de versión.
  • Antes de pegar un arreglo, comprueba qué descarta. Algunos no se pueden deshacer.

Preguntas frecuentes

Q. ¿Qué significa «error TS7006: Parameter 'req' implicitly has an 'any' type.»?

El parámetro no lleva tipo escrito y tsc no tenía de dónde inferirlo, así que pasó a ser any de forma implícita, y noImplicitAny lo considera un error. Aparece en archivos migrados de JavaScript y cuando se extrae un callback a su propia variable; en cambio, un callback escrito en línea como items.map(x => ...) tiene contexto y tsc lo infiere, así que esto no salta. Escribir el tipo ahí es la solución. También puedes poner any explícitamente, pero eso es decidir apagar la comprobación por completo en ese parámetro: cuando no sabes qué es, unknown es más honesto y te obliga a estrechar antes de usarlo.

Q. ¿Cómo se arregla?

No hay comando de una línea. La explicación de arriba dice qué revisar.

Q. ¿Qué herramienta lo imprime?

tsc. Está en Compilación y tipos y el mensaje tiene 9 palabras.

Errores cercanos