这是游乐场打字稿链接
问题是其中一个过载签名会引发错误:
重载签名与函数实现不兼容。
编码:
function a(item: string): void;
function a(key: number, value: string): void; // Ошибка в этой строке на букве 'a'
function a(item?: string, key?: number, value?: string): void {
if (item) {
console.log(item);
} else if (key && value) {
console.log(item);
}
}
实现指定类型(可选字符串),重载要求(数字),这就是编译器认为重载与实现不匹配的原因。结合类型并检查它们的变体编译: