TypeScript permite una gran variedad de tipos de parámetros en sus funciones. Vamos a ver cada uno de ellos
Si quieres aprender más sobre Parámetros de funciones
consulta el Curso de Introducción a la Programación leer más
Parámetros obligatorios
Los parámetros obligatorios son aquellos que deben ser proporcionados cuando se llama a la función. Estos parámetros se definen en la declaración de la función sin ningún modificador especial.
function saludar(nombre: string, edad: number): void {
console.log(`Hola ${nombre}, tienes ${edad} años.`);
}
saludar("Ana", 30); // Output: Hola Ana, tienes 30 años.
En este ejemplo,
nombre
yedad
son parámetros obligatorios.- La función
saludar
requiere que ambos parámetros se proporcionen al momento de la llamada.
Parámetros opcionales
En TypeScript, también podemos hacer que los parámetros de una función sean opcionales (esto significa que no es necesario proporcionar un valor para esos parámetros al llamar a la función).
Para hacer un parámetro opcional, simplemente agregamos un signo de interrogación (?
) después del nombre del parámetro.
function saludar(nombre: string, edad?: number): void {
if (edad) {
console.log(`Hola ${nombre}, tienes ${edad} años.`);
} else {
console.log(`Hola ${nombre}.`);
}
}
En este ejemplo, la función saludar
recibe un parámetro obligatorio nombre
de tipo string
y un parámetro opcional edad
de tipo number
.
Si se proporciona un valor para edad
, se mostrará un mensaje personalizado que incluye la edad. Si no se proporciona un valor para edad
, se mostrará un mensaje genérico.
Parámetros por defecto
TypeScript también permite especificar valores por defecto para los parámetros de una función (esto significa que si no se proporciona un valor para un parámetro, se utilizará el valor por defecto especificado).
Para asignar un valor por defecto a un parámetro, utilizamos el operador de asignación (=
) después del tipo de dato.
function saludar(nombre: string, edad: number = 18): void {
console.log(`Hola ${nombre}, tienes ${edad} años.`);
}
En este caso, el parámetro edad
tiene un valor por defecto de 18
. Si no se proporciona un valor para edad
al llamar a la función, se utilizará el valor por defecto.
Parámetros Rest
Los parámetros rest
(o parámetros variádicos) permiten a una función aceptar un número variable de argumentos. Se definen utilizando los tres puntos (...
) antes del nombre del parámetro y se recogen en un array.
function sumar(...numeros: number[]): number {
return numeros.reduce((acc, curr) => acc + curr, 0);
}
console.log(sumar(1, 2, 3, 4)); // Output: 10
console.log(sumar(5, 10)); // Output: 15
En este ejemplo, numeros
es un parámetro rest
que permite a la función sumar
aceptar cualquier cantidad de argumentos numéricos y devolver su suma.
Parámetros con tipos literales
En TypeScript, puedes definir parámetros que sólo acepten valores específicos usando tipos literales. Esto es útil cuando deseas restringir los valores permitidos para un parámetro.
function configurarModo(modo: "light" | "dark"): void {
console.log(`Modo seleccionado: ${modo}`);
}
configurarModo("light"); // Output: Modo seleccionado: light
configurarModo("dark"); // Output: Modo seleccionado: dark
En este caso, el parámetro modo
sólo puede aceptar los valores "light"
o "dark"
, lo que asegura que sólo se puedan usar estos dos valores específicos.
Parámetros de función como tipo
TypeScript permite usar tipos de función como parámetros, lo que permite pasar funciones como argumentos a otras funciones.
function ejecutarOperacion(a: number, b: number, operacion: (x: number, y: number) => number): number {
return operacion(a, b);
}
const suma = (x: number, y: number): number => x + y;
const resta = (x: number, y: number): number => x - y;
console.log(ejecutarOperacion(5, 3, suma)); // Output: 8
console.log(ejecutarOperacion(5, 3, resta)); // Output: 2
En este ejemplo, ejecutarOperacion
acepta dos números y una función operacion
que define cómo se deben combinar esos números.