TS7053
any implícito por un índice de cadena
Element implicitly has an 'any' type because expression of type 'string' can't be used to index typeLas palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.
Indexaste un objeto con un string a secas, y el compilador no puede saber a qué propiedad te referías — el resultado sería any, y strict no lo deja pasar en silencio.
Reproducción
declare const obj: { a: number } declare const key: string const value = obj[key]
La compilación afirma que esto emite exactamente este código.
Por qué lo dice el compilador
string es toda cadena, y obj tiene exactamente una clave. El compilador no puede descartar obj["tontería"], que no tiene tipo alguno, así que el resultado honesto es any — y bajo noImplicitAny, un any que no pediste es un error y no un agujero silencioso. El mensaje describe un hueco en lo que sabe, no un fallo en lo que escribiste.
Arreglos
- 01
declare const obj: { a: number } declare const key: keyof typeof obj const value = obj[key]
Acota la clave a las claves que existen.
keyof typeof objes"a", e indexar con ella es exacto. - 02
declare const obj: Record<string, number> declare const key: string const value = obj[key]
O di que el objeto de verdad acepta cualquier cadena. Una firma de índice es una promesa sobre todas las claves, y es la respuesta correcta cuando el objeto es un diccionario y no una forma fija.
Conclusión
Decide qué es el objeto: una forma fija que indexas por sus propias claves, o un diccionario que acepta cualquiera. La mayoría de estos errores son un objeto usado como ambas cosas.

