当前位置: 首页 > 知识库问答 >
问题:

TypeScript函数重载

简意
2023-03-14
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";
     }        

}

共有1个答案

卫增
2023-03-14

在TypeScript中重载时,只有一个具有多个签名的实现。

class Foo {
    myMethod(a: string);
    myMethod(a: number);
    myMethod(a: number, b: string);
    myMethod(a: any, b?: string) {
        alert(a.toString());
    }
}

只有这三个重载被TypeScript识别为方法调用的可能签名,而不是实际实现。

在您的例子中,我个人会使用两个名称不同的方法,因为参数中没有足够的通用性,这使得方法体可能需要有很多“如果”来决定要做什么。

myMethod(a: string | number, b?: string) {
    alert(a.toString());
}
 类似资料:
  • null 代码也可以在TypeScript游乐场上查看。

  • TypeScript 函数 函数是一组一起执行一个任务的语句。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。 函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。 函数定义 函数就是包裹在花括号中的代码块,前面使用了关键词 function: 语法格式如下所示: 实例 TypeScr

  • 我需要克隆一个已经存在的JavaScript代码到TypeScript。javascript是: 如何键入参数? 我尝试了 但是我的情报显示“错误”和“结果”的名字找不到。而且我找不到任何关于“函数”类型的留档。

  • 本节介绍 TypeScript 的函数,函数是任何应用程序的基本构建部分,通过函数返回一个计算后的值。 TypeScript 的函数声明中函数类型是极为重要的,函数的参数都需要标注参数类型,这可以帮助编译器进行正确的类型推导。本节还会着重讲解 this 的使用,可以通过编译选项和 this 参数两种方法,正确理解 this 的指向。 1. 慕课解释 在 JavaScript 中,函数是头等(fir

  • 为什么打字稿ES6没有检测到对象不是函数? 基于此函数,您会假设这将失败: 因为没有sortQuery对象,而是回调函数。这并没有给我任何类型的错误,这意味着typescript允许回调作为对象类型。 如何确保这会导致错误?

  • 实际代码中 funa 里有其他代码,拼数据一起 ajax 请求类的,上面只是简化代码 func 会调用 funa 并且有其他调用 https://www.typescriptlang.org/zh/play?#code/GYVwdgxgLglg9mABKMBDRAKARgLgM5QBOMYA5gJQ5ggC2WApoQFArTxIrrb5EmkDaAXUrU6jIS3BsEycF1wFiZAD6K