Ответ 1
(как и любой другой) - это просто утверждение типа, которое работает во время разработки/компиляции и не имеет побочных эффектов во время выполнения, потому что это просто вещь Typescript. Это может быть полезно, если что-то, связанное с this
например, this[whatever]
выдает ошибку TS, потому whatever
не определено внутри this
типа TS. Таким образом, эта ошибка может быть подавлена с помощью (this as any)[whatever]
Кроме того (this as any)
является эквивалентом (<any> this)
Примечание для упоминания: --suppressImplicitAnyIndexErrors
как опция компилятора подавляет такие возможные ошибки.