Monday 6 January 2020

TypeScript or JavaScript type casting



How does one handle type casting in TypeScript or Javascript?



Say I have the following TypeScript code:



module Symbology { 

export class SymbolFactory {


createStyle( symbolInfo : SymbolInfo) : any {
if (symbolInfo == null)
{
return null;
}

if (symbolInfo.symbolShapeType === "marker") {

// how to cast to MarkerSymbolInfo

return this.createMarkerStyle((MarkerSymbolInfo) symbolInfo);
}
}

createMarkerStyle(markerSymbol : MarkerSymbolInfo ): any {
throw "createMarkerStyle not implemented";
}

}
}



where SymbolInfo is a base class. How do I handle typecasting from SymbolInfo to MarkerSymbolInfo in TypeScript or Javascript?


Answer



You can cast like this:



return this.createMarkerStyle( symbolInfo);


Or like this if you want to be compatible with tsx mode:




return this.createMarkerStyle(symbolInfo as MarkerSymbolInfo);


Just remember that this is a compile-time cast, and not a runtime cast.


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...