El error TS2769 de TypeScript se reporta cuando una llamada a función no coincide con ninguna de las firmas de sobrecarga declaradas. TypeScript verifica cada sobrecarga en orden y reporta este error si ninguna acepta los tipos de argumentos proporcionados.
Por qué ocurre
- •Llamar a una función con un tipo de argumento no cubierto por ninguna sobrecarga.
- •Pasar un tipo unión donde cada sobrecarga solo acepta una rama de la unión.
- •Un desajuste de tipo en una llamada a función de librería de terceros.
- •Argumentos de tipo genérico incorrectos que fallan todas las verificaciones de sobrecarga.
Ejemplos
Código que causa el error
function process(input: string): string;
function process(input: number): number;
function process(input: string | number): string | number {
return input;
}
process(true); // boolean not in overloadsError en la terminal
error TS2769: No overload matches this call.
Cómo solucionarlo
Verifica todas las firmas de sobrecarga y asegúrate de que tu argumento coincida con una de ellas. Agrega una nueva sobrecarga si necesitas soportar un tipo adicional. Si usas una librería, verifica las definiciones de tipo para saber qué acepta realmente la función.
Código corregido
function process(input: string): string;
function process(input: number): number;
function process(input: string | number): string | number {
return input;
}
process("hello"); // OK
process(42); // OKErrores relacionados
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis