Eu sempre compilei o Typecript com a flag --noImplicitAny. Isso faz sentido, pois quero que minha verificação de tipo seja o mais rígida possível.
Meu problema é que, com o seguinte código, recebo o erro 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 notar é que a ideia é que a variável chave venha de algum outro lugar no aplicativo e possa ser qualquer uma das chaves no objeto.
Eu tentei converter explicitamente o tipo por:
let secondValue: string = <string>someObject[key];
Ou o meu cenário simplesmente não é possível --noImplicitAny
?