DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Fundamentos de TypeScript | #10: Funciones

Si bien ya vimos ejemplos de muchas funciones en post pasados, no est獺 mal dedicarle una entrada solo a las funciones.

Declaraci籀n de funciones

Para declarar funciones se deben tener en cuenta 2 cosas importantes para sacar el jugo a typescript:

  1. Poner expl穩citamente el tipo de dato a los par獺metros de una funci籀n.

  2. Tener en cuenta que las funciones tambi矇n tienen un tipo de retorno, ac獺 encontr矇 opiniones divididas, algunos devs sugieren que el compilador de typescript infiera el tipo de retorno de la funci籀n, en cambio otros proponen que debe ser el desarrollador quien escriba expl穩citamente dicho tipo de retorno. Personalmente, a mi me gusta optar por escribir expl穩citamente el tipo de retorno, as穩 queda claro a simple vista que es lo que esa funci籀n debe regresar.

Funciones cl獺sicas vs Funciones de flecha

Por ejemplo, en JavaScript, una funci籀n para obtener la potencia de un n繳mero se veria asi:

function potencia(base, exponente){
  return base ** exponente
}

console.log(potencia(5,2)) //25
Enter fullscreen mode Exit fullscreen mode

Para convertir esta funci籀n a sintaxis TypeScript tendr穩amos que a簽adirle el tipo de dato a los par獺metros y el tipo de retorno a la funci籀n per se, as穩:

function potencia(base:number, exponente:number):number{
  return base ** exponente
}

console.log(potencia(5,2)) //25
Enter fullscreen mode Exit fullscreen mode

Recuerda que al no poner el tipo de retorno de la funci籀n, TypeScript inferir獺 dicho tipo de retorno, en este caso number.

Ahora, escribamos la funci籀n en sintaxis arrow:

const potencia = (base:number, exponente:number):number => base ** exponente;
console.log(potencia(2,8)) //256
Enter fullscreen mode Exit fullscreen mode

Podemos tener la misma funci籀n pero en una sola l穩nea.

Las ventajas de usar funciones cl獺sicas o funciones flechas escapa de los conceptos de TypeScript, JavaScript explica sobre todo el contexto this de ambas formas de usar funciones.

void para funciones

El tipo de dato void puede ser usado en una funci籀n cuando sabemos de antemano que esta no devolver獺 nada, por ejemplo:

const saludo = (nombre:string):void => console.log(`Hola ${nombre}`)
console.log(saludo("Cris")) // Hola Cris
Enter fullscreen mode Exit fullscreen mode

El cuerpo de la funci籀n no tiene una sentencia return por ende no regresa nada, en este caso es muy aconsejable usar void como tipo de regreso.

Conclusiones

  • Las funciones en TypeScript necesitan declarar el tipo de sus datos y el tipo de retorno.
  • Pueden ser funciones cl獺sicas usando la palabra reservada function o funciones flecha.
  • void es 繳til para funciones que no regresan nada.

Referencias

Discussion (0)