Búsqueda de sitios web

TypeScript - Redundancia al escribir el tipo para una función


Uno de los tipos más simples para funciones en TypeScript se ve así:

let myAdd: (x: number, y: number) => number = function (
  x: number,
  y: number
): number {
  return x + y;
};

¿Cuál es el propósito de la redundancia de eso? No puedo entenderlo.

Respuesta #1

Ese no es realmente el tipo más sencillo, incluso podría argumentar que esto es un poco complicado. Normalmente, si creo una función así, escribiría esto:

function myAdd(x: number, y: number) {
  return x + y;
}

Aquí el tipo de retorno se infiere. Si quieres usar específicamente una Expresión de Función y no una declaración de función, es lo mismo:

const myAdd = function(x: number, y: number) {
  return x + y;
}

Aquí también se inferirán el tipo de retorno y los tipos de las variables myAdd. Casi nunca necesitas anotar cada cosa. De hecho, lo único que normalmente tengo que anotar son los parámetros de las funciones, a menos que escriba clases abstractas o interfaces donde todo debe estar definitivamente tipado. TypeScript es ridículamente bueno en la inferencia de tipos, por lo que la mayoría de los tipos se pueden omitir sin problemas.