what does `(this as any)` mean in this typescript snippet?
It can be actually written as
(<any>this)[transport](item);
The type casting is exhibited in the above statement!
(this as any ) is just a Type Assertion that works on dev/compiling time and has no side effects on run time because it is purely a Typescript thing. It can be useful if something related to this
like this[whatever]
which outputs a TS error because whatever
is not defined inside the this
TS type. So, this error can be suppressed with (this as any)[whatever]
Also (this as any)
is the equivalent to (<any> this)
Note to mention: --suppressImplicitAnyIndexErrors
as a compiler option suppresses those kind of possible errors.