Я настоятельно рекомендую включить опцию компилятора --strict
.Эта опция включает кучу дополнительных проверок, которые неоценимы при обнаружении ошибок.В вашем случае необходимая проверка выполняется с помощью опции --noImplicitAny
:
--noImplicitAny
: выдает ошибку в выражениях и объявлениях с подразумеваемым типом any
.
Если вы включите это, вы увидите следующую ошибку:
let b = a[0]; // error!
// Element implicitly has an 'any' type because type 'IPoint' has no index signature.
Вы можете обнаружить, что если вы включите режим --strict
, появится множество других ошибок.Это раздражает, но, как правило, это хорошие ошибки, с которыми вам следует иметь дело, и даже когда появляются ложные срабатывания, обработка этих ошибок улучшит ваш код.
Надеюсь, что это поможет;удачи!