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.
