DocumentX Logo
DocumentX.
Ctrl+K
TypeScript/Palabras Claves

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 ClaveDescripciónEjemplo de Sintaxis
functionDeclara una funciónfunction saludar(nombre: string): void
returnDevuelve un valor desde la funciónreturn "Carlos";
asyncMarca una función como asíncronaasync function cargar(): Promise<string>
awaitEspera el resultado de una Promiseconst data = await cargar();