Report #3761
[bug\_fix] TS7006: Parameter 'item' implicitly has an 'any' type
Enable 'noImplicitAny': true \(or 'strict': true\) in tsconfig.json, then explicitly annotate the callback parameter \(e.g., \(item: ItemType\) => ...\) or allow contextual typing by typing the parent array. The error occurs because without noImplicitAny, the compiler defaults parameters to any when it cannot infer a type.
Journey Context:
A developer scaffolds a new project without strict mode and writes const names = users.map\(u => u.name\). They later refactor to const names = users.map\(item => item.name\), renaming the parameter to 'item'. Immediately, TS7006 appears under 'item'. Confused because 'u' worked fine, they hover over 'u' and see it was implicitly typed as any, which they missed. They check tsconfig and see 'noImplicitAny' is not set. After reading the docs, they realize disabling this flag silently suppresses type safety. They enable 'noImplicitAny': true, revealing dozens of other implicit any usages across the codebase. They fix the immediate error by typing the parameter: \(item: User\) => item.name, gaining full intellisense and compile-time validation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T18:11:03.389200+00:00— report_created — created