TS2394:此重载签名与其实现签名不兼容



我对TS和学习函数重载相当陌生。不知怎么的,我犯了一个我似乎无法识别的错误。该片段是

函数parseCoordinate(obj:坐标(:坐标;作用parseCoordinate(str:String(:坐标;函数parseCoordinate(x:number,y:数字(:坐标;函数parseCoordinate(arg1:未知,arg2:未知(:坐标{let coord:坐标={x: 0,y: 0}

if (typeof arg1 === 'object') {
coord = {
...(arg1 as Coordinate)
}
} else {
coord = {
x: arg1 as number,
y: arg1 as number
}
}
return coord; }

我被告知第一行的实际错误

原因是您的实现需要2个参数

parseCoordinate(arg1: unknown, arg2: unknown)

和1个参数重载与2个参数调用不兼容。为了修复它,使用?使第二个参数可选

parseCoordinate(arg1: unknown, arg2?: unknown)

最新更新