137 votes

Erreur dactylographiée : l'élément TS7053 a implicitement un type « tout »

cela fait partie de mon code :

 const myObj: object = {}
const propname = 'propname'

myObj[propname] = 'string'

mais j'ai une erreur :

 ERROR in path/to/file.ts(4,1)
TS7053: Element implicitly has an 'any' type because expression of type '"propname"' can't be used to index type '{}'.
  Property 'propname' does not exist on type '{}'.

Qu'est-ce qui ne va pas ici et comment puis-je le réparer ?

246voto

Murat Karagöz Points 13113

Vous devez définir le type d'index de l'objet. Dans votre cas, il s'agit d'un indice basé sur string

 const myObj: {[index: string]:any} = {}

-12voto

Ivan Paniagua Points 11

Pourquoi simplement remplacer "object" par "any":

 const myObj: any = {}
const propname = 'propname'

myObj[propname] = 'string'

Une autre alternative courte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X