TypeScript 或 JavaScript 类型转换 [英] TypeScript or JavaScript type casting

查看:30
本文介绍了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 中处理从 SymbolInfoMarkerSymbolInfo 的类型转换?

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 类型转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆