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:
Poner explícitamente el tipo de dato a los parámetros de una función.
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
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
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
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
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)