En TypeScript, las funciones son una parte fundamental del lenguaje y se pueden tipar de varias maneras para asegurar que se comporten de la manera esperada. En esta sección, aprenderemos cómo definir tipos para funciones, cómo usar funciones anónimas y cómo trabajar con funciones que tienen parámetros opcionales y predeterminados.
Contenido
Definición de Tipos de Función
En TypeScript, podemos definir el tipo de una función especificando los tipos de sus parámetros y el tipo de su valor de retorno. Esto se hace utilizando la siguiente sintaxis:
Ejemplo
En este ejemplo, suma
es una función que toma dos parámetros de tipo number
y devuelve un valor de tipo number
.
Tipado de Funciones como Tipos
También podemos definir el tipo de una función utilizando una sintaxis de tipo de función. Esto es útil cuando queremos asignar una función a una variable o pasarla como argumento a otra función.
let miFuncion: (a: number, b: number) => number; miFuncion = function(x: number, y: number): number { return x + y; }
En este ejemplo, miFuncion
es una variable que puede almacenar cualquier función que tome dos parámetros de tipo number
y devuelva un number
.
Funciones Anónimas
Las funciones anónimas son funciones que no tienen un nombre. Son útiles cuando queremos definir una función rápidamente sin necesidad de nombrarla. En TypeScript, podemos tipar funciones anónimas de la misma manera que las funciones nombradas.
Ejemplo
En este ejemplo, multiplicar
es una función anónima que toma dos parámetros de tipo number
y devuelve un number
.
Funciones con Parámetros Opcionales y Predeterminados
En TypeScript, podemos definir parámetros opcionales y predeterminados en nuestras funciones. Los parámetros opcionales se indican con un signo de interrogación (?
) después del nombre del parámetro, y los parámetros predeterminados se definen asignándoles un valor por defecto.
Parámetros Opcionales
function saludar(nombre: string, saludo?: string): string { if (saludo) { return `${saludo}, ${nombre}!`; } else { return `Hola, ${nombre}!`; } }
En este ejemplo, saludo
es un parámetro opcional. Si no se proporciona, la función aún funcionará correctamente.
Parámetros Predeterminados
function saludarConPredeterminado(nombre: string, saludo: string = "Hola"): string { return `${saludo}, ${nombre}!`; }
En este ejemplo, saludo
tiene un valor predeterminado de "Hola"
. Si no se proporciona un valor para saludo
, se usará el valor predeterminado.
Ejercicios Prácticos
Ejercicio 1
Define una función llamada restar
que tome dos parámetros de tipo number
y devuelva la resta de ambos. Asegúrate de tipar correctamente la función.
Ejercicio 2
Define una función anónima que tome un parámetro de tipo string
y devuelva la longitud de la cadena. Asigna esta función a una variable llamada longitudCadena
.
Ejercicio 3
Define una función llamada concatenar
que tome dos parámetros de tipo string
, donde el segundo parámetro es opcional. Si el segundo parámetro no se proporciona, la función debe devolver solo el primer parámetro.
Conclusión
En esta sección, hemos aprendido cómo definir tipos para funciones en TypeScript, cómo trabajar con funciones anónimas y cómo manejar parámetros opcionales y predeterminados. Estos conceptos son fundamentales para escribir código TypeScript robusto y seguro. En la próxima sección, exploraremos los módulos y espacios de nombres en TypeScript, lo que nos permitirá organizar mejor nuestro código.
¡Sigue practicando y nos vemos en la siguiente lección!
Curso de TypeScript
Módulo 1: Introducción a TypeScript
- ¿Qué es TypeScript?
- Configuración del Entorno de TypeScript
- Tipos Básicos
- Anotaciones de Tipo
- Compilando TypeScript
Módulo 2: Trabajando con Tipos
Módulo 3: Tipos Avanzados
Módulo 4: Funciones y Módulos
- Tipos de Función
- Parámetros Opcionales y Predeterminados
- Parámetros Rest
- Módulos y Espacios de Nombres
- Decoradores
Módulo 5: Programación Asíncrona
Módulo 6: Herramientas y Mejores Prácticas
- Linting y Formateo
- Pruebas de Código TypeScript
- TypeScript con Webpack
- TypeScript con React
- Mejores Prácticas