==== Тип any ====
Any описывает данные, тип которых может быть неизвестен на момент написания приложения.
let someVar: any = "hello";
console.log(someVar); // сейчас someVar - это string
someVar = 20;
console.log(someVar); // сейчас someVar - это number
Так как здесь применяется тип ''any'', то данный код скомпилируется без ошибок, несмотря на смену строкового значения на числовое. И также мы можем объявлять массивы данного типа:
var someArray: any[] = [ 24, "Tom", false];
Если переменная определяется без значения и указания типа, и только впоследствии при работе программы ей присваивается значение, тогда считается, что она имеет тип any:
let x; // тип any
x = 10;
x = "hello";
С одной стороны, ''any'' может показаться удобным типом. Однако, с другой стороны, он лишает программу преимуществ языка TypeScript, в частности, статической типизации. Соответственно может привнести в программу потенциальные ошибки, связанные с типизацией данных, которые компилятор не сможет отследить на этапе компиляции.