Funciones
Uso de function, return, async y await para el manejo de funciones síncronas y asíncronas en TypeScript.
Palabras Clave para Funciones en TypeScript
TypeScript permite definir funciones síncronas y asíncronas añadiendo verificación de tipos en sus parámetros y valores de retorno mediante palabras clave reservadas.
1. function
La palabra clave function se utiliza para declarar bloques de código reutilizables. En TypeScript podemos tipar explícitamente tanto sus parámetros como su tipo de retorno.
typescript// Declaración de una función con parámetros tipados y tipo de retorno
function obtenerSaludo(nombre: string): string {
return `Hola, ${nombre}`;
}
// ✅ Válido
obtenerSaludo("Carlos");
// ❌ Error: Se esperaba un argument de tipo string
// obtenerSaludo(25);
2. return
La palabra clave return finaliza la ejecución de una función y especifica el valor que será devuelto al llamador. TypeScript verifica que el valor retornado coincida estrictamente con el tipo definido.
typescriptfunction sumar(a: number, b: number): number {
return a + b; // ✅ Válido: Retorna un number
}
function obtenerEdad(): number {
// ❌ Error: El tipo 'string' no se puede asignar al tipo de retorno 'number'
// return "Veinticinco";
}
3. async
La palabra clave async transforma una función en asíncrona. En TypeScript, una función marcada con async siempre devuelve una Promesa (Promise<T>).
typescript// La función devuelve implícitamente una Promise<string>
async function obtenerUsuario(): Promise<string> {
return "Carlos";
}
// ✅ Válido: Se puede consumir con .then()
obtenerUsuario().then((nombre) => console.log(nombre));
4. await
La palabra clave await se utiliza para pausar la ejecución de una función asíncrona hasta que una Promise se resuelva o rechace. Solo puede utilizarse dentro de funciones marcadas con async.
typescriptasync function procesarDatos(): Promise<void> {
// ✅ Válido: Espera la resolución de la promesa y extrae el string
const usuario: string = await obtenerUsuario();
console.log("Usuario cargado:", usuario);
}
// ❌ Error: 'await' solo está permitido en funciones 'async'
// function funcionNormal() {
// const resultado = await obtenerUsuario();
// }
Tabla Resumen
| Palabra Clave | Descripción | Ejemplo de Sintaxis |
|---|---|---|
function | Declara una función | function saludar(nombre: string): void |
return | Devuelve un valor desde la función | return "Carlos"; |
async | Marca una función como asíncrona | async function cargar(): Promise<string> |
await | Espera el resultado de una Promise | const data = await cargar(); |