En TypeScript, los parámetros opcionales y predeterminados son características que permiten a los desarrolladores definir funciones más flexibles y robustas. Estas características facilitan la creación de funciones que pueden ser llamadas con diferentes números de argumentos, proporcionando valores predeterminados cuando no se especifican algunos parámetros.
Parámetros Opcionales
Un parámetro opcional es un parámetro que no es obligatorio al llamar a una función. Para definir un parámetro opcional, se agrega un signo de interrogación (?) después del nombre del parámetro.
Sintaxis
Ejemplo
function saludar(nombre: string, saludo?: string): string {
if (saludo) {
return `${saludo}, ${nombre}!`;
} else {
return `Hola, ${nombre}!`;
}
}
console.log(saludar("Juan")); // Salida: Hola, Juan!
console.log(saludar("Juan", "Buenos días")); // Salida: Buenos días, Juan!En este ejemplo, el parámetro saludo es opcional. Si no se proporciona, la función utiliza un saludo predeterminado.
Parámetros Predeterminados
Un parámetro predeterminado es un parámetro que tiene un valor por defecto si no se proporciona uno al llamar a la función. Para definir un parámetro predeterminado, se asigna un valor al parámetro en la definición de la función.
Sintaxis
function nombreFuncion(param1: tipo1, param2: tipo2 = valorPredeterminado): tipoRetorno {
// Cuerpo de la función
}Ejemplo
function saludar(nombre: string, saludo: string = "Hola"): string {
return `${saludo}, ${nombre}!`;
}
console.log(saludar("Juan")); // Salida: Hola, Juan!
console.log(saludar("Juan", "Buenos días")); // Salida: Buenos días, Juan!En este ejemplo, el parámetro saludo tiene un valor predeterminado de "Hola". Si no se proporciona un valor para saludo, se utiliza el valor predeterminado.
Combinando Parámetros Opcionales y Predeterminados
Es posible combinar parámetros opcionales y predeterminados en una misma función. Sin embargo, es importante recordar que los parámetros opcionales deben ir después de los parámetros obligatorios.
Ejemplo
function crearMensaje(nombre: string, edad?: number, saludo: string = "Hola"): string {
if (edad) {
return `${saludo}, ${nombre}. Tienes ${edad} años.`;
} else {
return `${saludo}, ${nombre}.`;
}
}
console.log(crearMensaje("Juan")); // Salida: Hola, Juan.
console.log(crearMensaje("Juan", 25)); // Salida: Hola, Juan. Tienes 25 años.
console.log(crearMensaje("Juan", 25, "Buenos días")); // Salida: Buenos días, Juan. Tienes 25 años.En este ejemplo, edad es un parámetro opcional y saludo tiene un valor predeterminado. La función crearMensaje puede ser llamada con uno, dos o tres argumentos.
Ejercicios Prácticos
Ejercicio 1
Crea una función calcularArea que calcule el área de un rectángulo. La función debe aceptar dos parámetros: ancho y alto, donde alto es opcional y tiene un valor predeterminado de 1.
function calcularArea(ancho: number, alto: number = 1): number {
return ancho * alto;
}
// Pruebas
console.log(calcularArea(5)); // Salida: 5
console.log(calcularArea(5, 10)); // Salida: 50Ejercicio 2
Crea una función formatearFecha que acepte tres parámetros: dia, mes y año, donde mes y año son opcionales. Si no se proporcionan, mes debe ser 1 y año debe ser 2000.
function formatearFecha(dia: number, mes: number = 1, año: number = 2000): string {
return `${dia}/${mes}/${año}`;
}
// Pruebas
console.log(formatearFecha(15)); // Salida: 15/1/2000
console.log(formatearFecha(15, 5)); // Salida: 15/5/2000
console.log(formatearFecha(15, 5, 2021)); // Salida: 15/5/2021Resumen
En esta sección, hemos aprendido sobre los parámetros opcionales y predeterminados en TypeScript. Los parámetros opcionales permiten definir funciones que pueden ser llamadas con diferentes números de argumentos, mientras que los parámetros predeterminados proporcionan valores por defecto cuando no se especifican algunos parámetros. Estas características hacen que las funciones sean más flexibles y fáciles de usar.
En el próximo tema, exploraremos los parámetros rest, que permiten trabajar con un número variable de argumentos en una funció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
