我对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)