Saltar al contenido
TS2314

    ↑↓ mover · ⏎ abrir · esc cerrar

    TS2314

    El tipo genérico necesita argumentos de tipo

    Generic type 'Box' requires 1 type argument(s).

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

    Se usó un alias genérico sin proporcionar el parámetro de tipo que requiere.

    Reproducción

    type Box<T> = { value: T }
    
    const box: Box = { value: 1 }

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

    Por qué lo dice el compilador

    `T` es una entrada a la función de tipos `Box`. Sin argumento ni valor predeterminado, el comprobador no sabe qué tipo de valor debe contener la propiedad.

    Arreglos

    1. 01
      type Box<T> = { value: T }
      
      const box: Box<number> = { value: 1 }

      Proporciona el tipo concreto requerido en este punto de uso.

    2. 02
      type Box<T = unknown> = { value: T }
      
      const box: Box = { value: 1 }

      Añade un valor predeterminado seguro solo cuando el genérico tenga un caso general con sentido.

    Conclusión

    Todo parámetro de tipo obligatorio necesita un argumento, igual que todo parámetro de función obligatorio necesita un valor.

    Adónde ir después

    Errores