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

Top comments (0)