首页 > 解决方案 > 具有不同参数类型的函数中的重复函数实现

问题描述

在打字稿中,我在一个类中有以下方法:

authorize(resource: any, requirement: Requirement) : boolean {
  return false;
}

authorize(resource: any, policy: Policy) : boolean {
  return false;
}

但我收到以下错误:

Duplicate function implementation.

如果参数具有不同的类型,例如策略和要求,为什么会重复?

如何解决这个问题?

标签: typescript

解决方案


TypeScript 提供了函数重载的概念。您可以拥有多个名称相同但参数类型和返回类型不同的函数。但是,参数的数量应该相同。

add(a: string, b: string): string;

add(a: number, b: number): number;

add(a: any, b: any): any {
  return a + b;
}

希望能帮助你理解。更多参考请到这里


推荐阅读