Saltar al contenido
TS2554

    ↑↓ mover · ⏎ abrir · esc cerrar

    TS2554

    Número incorrecto de argumentos

    Expected 2 arguments, but got 1.

    Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.

    La firma de llamada seleccionada requiere más argumentos de los que proporciona esta llamada.

    Reproducción

    function pair(a: string, b: number) {}
    
    pair('x')

    La compilación afirma que esto emite exactamente este código.

    Por qué lo dice el compilador

    Un parámetro obligatorio forma parte del contrato. Omitirlo haría que la implementación recibiera `undefined` aunque su tipo diga que no puede ocurrir, así que la llamada se rechaza antes de romper esa promesa.

    Arreglos

    1. 01
      function pair(a: string, b: number) {}
      
      pair('x', 1)

      Proporciona todos los argumentos obligatorios cuando la función necesita ambos.

    2. 02
      function pair(a: string, b = 0) {}
      
      pair('x')

      Da al parámetro un valor predeterminado cuando omitirlo tenga una interpretación útil y segura.

    Conclusión

    Corrige el llamante cuando la entrada sea obligatoria; cambia la firma solo si la operación admite de verdad la omisión.

    Adónde ir después

    Errores