TypeScript编译器报告"This overload signature is not compatible with its implementation signature."
存在以下任何重载:
export class FullId {
// other stuff
static parse(toParse: string): FullId;
static parse(toParse: string, withIdType: 'U' | 'S' | 'O' | 'T'): FullId;
static parse(
toParse: string,
withIdType: 'U' | 'S' | 'O' | 'T' | undefined,
withEntityType: string | undefined
): FullId;
static parse(
toParse: string,
withIdType: 'U' | 'S' | 'O' | 'T' | undefined,
withEntityType: string | undefined
): FullId {
// my implementation
}
}
它基本上是一个可以用一个、两个或三个参数调用的方法,我真的不明白问题是什么:我创建了与实现不同的重载,在实现中除了第一个参数之外的任何参数都是可选的,删除static
修饰符并没有改变任何东西。
1条答案
按热度按时间bmp9r5qi1#
使用问号语法将参数设置为可选
由于某些原因,TS在这里没有以同样的方式处理可选参数和接受
undefined
的参数