本文介绍了TypeScript 或 JavaScript 类型转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何处理 TypeScript 或 Javascript 中的类型转换?
How does one handle type casting in TypeScript or Javascript?
假设我有以下 TypeScript 代码:
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";
}
}
}
其中 SymbolInfo
是基类.如何在 TypeScript 或 Javascript 中处理从 SymbolInfo
到 MarkerSymbolInfo
的类型转换?
where SymbolInfo
is a base class. How do I handle typecasting from SymbolInfo
to MarkerSymbolInfo
in TypeScript or Javascript?
推荐答案
你可以这样转换:
return this.createMarkerStyle(<MarkerSymbolInfo> symbolInfo);
或者这样如果你想兼容tsx模式:
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.
这篇关于TypeScript 或 JavaScript 类型转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!