这是一个非常简单的用例。
我有一个过载的签名,有时接受记录,有时接受Map。尽管我使用的是Map版本,但TS认为我使用的是记录版本。为什么?我该怎么解决这个问题?
function doStuff(arg: Record<any, any>): Record<any, any>;
function doStuff(arg: Map<any, any>): Map<any, any>;
function doStuff(arg: any) {
return arg;
}
let m: Map<any, any> = doStuff(new Map<any, any>());
// error ! m is returned as a Record还请参见操场
https://stackoverflow.com/questions/72084984
复制相似问题