TypeScript语言规范的第6.3节讨论了函数重载,并给出了如何实现它的具体示例.但是,如果我尝试这样的事情:
export class LayerFactory {
constructor (public styleFactory: Symbology.StyleFactory) { }
createFeatureLayer (userContext : Model.UserContext, mapWrapperObj : MapWrapperBase) : any {
throw "not implemented";
}
createFeatureLayer(layerName : string, style : any) : any {
throw "not implemented";
}
}
Run Code Online (Sandbox Code Playgroud)
即使函数参数属于不同类型,我也会收到指示重复标识符的编译器错误.即使我在第二个createFeatureLayer函数中添加了一个额外的参数,我仍然会遇到编译器错误.想法,请.
有谁知道是否有一个很好的工具来分析JavaScript代码和检测类型错误?我知道JavaScript本身是弱动态类型的,但如果我有一个程序可以验证我的所有字段访问都是合理的,并且我不会尝试处理类似字符串的数字,那将是非常好的.我知道在JavaScript中有一些有效的用例,其中添加或删除字段或在不同类型之间进行转换是有效和预期的,但是有些错误是如此明显,似乎它们可能在脚本开始运行之前被捕获.
我听说过JSLint,但我的理解是它主要是一种样式工具而不是语义分析器.如果我对此错了,那么告诉我这个问题就是这个问题的有效答案.