Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what does `(this as any)` mean in this typescript snippet?

I meet this code and do not understand exactly what it does :

public uploadItem(value:FileItem):void {
    let index = this.getIndexOfItem(value);
    let item = this.queue[index];
    let transport = this.options.isHTML5 ? '_xhrTransport' : '_iframeTransport';
    item._prepareToUploading();
    if (this.isUploading) {
      return;
    }
    this.isUploading = true;
    (this as any)[transport](item);
  }

Can anyone explain what does this (this as any) statement do?

like image 773
madjardi Avatar asked Sep 05 '25 01:09

madjardi


1 Answers

(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.

like image 79
Mouneer Avatar answered Sep 06 '25 20:09

Mouneer