TypeScript oder JavaScript Typ Casting
Wie geht man mit type-casting in Schriftlicher oder Javascript?
Sagen, ich habe das folgende Typoskript-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";
}
}
}
wo SymbolInfo
ist eine Basis-Klasse. Wie gehe ich mit typecasting von SymbolInfo
zu MarkerSymbolInfo
in Schriftlicher oder Javascript?
InformationsquelleAutor der Frage Klaus Nji | 2012-11-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie werfen, wie diese:
Oder so wenn Sie wollen, um kompatibel mit den tsx-Modus:
Nur daran erinnern, dass dies ist eine compile-time cast, und nicht um eine Laufzeit-cast.
InformationsquelleAutor der Antwort blorkfish
Dies wird als Typ Geltendmachung in Typoskript, und da Typoskript 1.6, es gibt zwei Möglichkeiten, um dies auszudrücken:
Beide alternativen sind funktional identisch. Der Grund für die Einführung der
as
-syntax ist, dass die ursprüngliche syntax in Konflikt mit JSX, sehen die design-Diskussion hier.Wenn Sie in eine position zu wählen, benutzen Sie einfach die syntax, die Sie fühlen sich wohler mit. Ich persönlich bevorzuge die
as
-syntax wie fühlt es sich eher fließend zu Lesen und zu schreiben.InformationsquelleAutor der Antwort Alex