声明合并中的重载顺序如何改变调用解析结果
简答题困难409 次浏览
参考答案与解析
# 核心结论
声明合并会把同名接口声明贡献的函数成员组合成重载集合,而调用解析会按照重载候选的有效顺序选择首个适用签名,因此声明组顺序和组内签名顺序都可能改变推断结果。合并时,后声明的重载组通常排在先声明的组之前,但具有单个字符串字面量参数等特征的专门签名还可能获得提升。工程上不应只依赖这种顺序规则维持正确性,而应优先减少重载重叠,并让具体签名位于宽泛签名之前。
interface Decoder {
decode(kind: string, input: string): string;
}
interface Decoder {
decode(kind: "json", input: string)
