J'essaie d'écrire une fonction qui convertit une mangouste User
à une chaîne de caractères avec des puces :
// Simplified version so you get the idea
interface IUser {
name: string
}
function userDetails (user: IUser, keys: string[]): string {
return keys.map((k: string): string => {
return `- ${k} : ${user[k]}`
})
.join('\n')
}
Mais j'ai une étrange erreur de compilation, où user[k]
est souligné :
La signature de l'index d'un type d'objet a implicitement un type 'any'.
Existe-t-il un moyen de "forcer" Typescript à administrer ce système ? user[k]
est une chaîne de caractères ? J'ai essayé user[k] as string
o <string> user[k]
sans succès.
De même, si je retire le ${user[k]}
de la chaîne retournée, alors le compilateur arrête de se plaindre
À part l'erreur de compilation, tout fonctionne au moment de l'exécution.
Merci !