Compile sempre Typescript con la bandiera --noImplicitAny. Questo ha senso poiché voglio che il mio controllo del tipo sia il più stretto possibile.
Il mio problema è che con il seguente codice ottengo l'errore 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];
È importante notare che l'idea è che la variabile chiave provenga da qualche altra parte dell'applicazione e possa essere una qualsiasi delle chiavi nell'oggetto.
Ho provato a trasmettere esplicitamente il tipo da:
let secondValue: string = <string>someObject[key];
O il mio scenario non è proprio possibile con --noImplicitAny
?