Je compile toujours Typescript avec l'indicateur --noImplicitAny. Cela a du sens car je veux que ma vérification de type soit aussi serrée que possible.
Mon problème est qu'avec le code suivant, j'obtiens l'erreur Index signature of object type implicitly has an 'any' type:
interface ISomeObject {
firstKey: string;
secondKey: string;
thirdKey: string;
}
let someObject: ISomeObject = {
firstKey: 'firstValue',
secondKey: 'secondValue',
thirdKey: 'thirdValue'
};
let key: string = 'secondKey';
let secondValue: string = someObject[key];
Il est important de noter que l'idée est que la variable clé vient d'ailleurs dans l'application et peut être n'importe laquelle des clés de l'objet.
J'ai essayé de convertir explicitement le type en:
let secondValue: string = <string>someObject[key];
Ou est-ce que mon scénario n'est tout simplement pas possible avec --noImplicitAny?