Учитывая следующий код в файл с именем test.ts
:Машинопись проблема компилятор объекта итерация
interface ImageFile {
width: number;
height: number;
url: string;
}
interface ImageFiles {
low: ImageFile;
medium?: ImageFile;
high?: ImageFile;
}
let images: ImageFiles = {
low: {
width: 0,
height: 0,
url: 'bla'
}
};
Object.keys(images).forEach((k) => {
let img = images[k];
// do something with img
});
дает следующее сообщение об ошибке при компиляции с опцией --noImplicitAny:
$ tsc test.ts --noImplicitAny
test.ts(22,10): error TS7017: Index signature of object type implicitly has an 'any' type.
Значение, что images[k]
типа неявно имеет тип any
, а также, тип кастинг не будет работать здесь.
Компиляция без --noImplicitAny
Флаг работает нормально.
Как правильно отрегулировать объект, когда установлен флаг выше?
Это, кажется, ответ. Благодаря! – eAbi