Lingua-e
JavaScript

¿Qué significa TS2769: No hay sobrecarga que coincida?

← Errores

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

JavaScript

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 overloads

Error 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);      // OK

Errores 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