У меня есть следующее определение класса:
class Test {
a(msg: string): string;
a(msg: string, ...args: unknown[]): string | { msg: string, args: unknown[]} {
if (args) {
return { msg: msg, args: args };
}
return msg;
}
}
Однако, если я сделаю это, я получу ошибки компиляции:
new Test().a("test", "a", 1, 2, 3);
«Ожидается 1 аргумент, но получен 5 "
Как правильно перегрузить этот метод, чтобы обеспечить разные типы возвращаемых значений для разных подписей?