Volver a Funciones
Funciones — Leccion 2
·15 minTipos de Retorno
Define que tipo retorna tu función.
Tipado de retorno
TypeScript puede inferir el tipo de retorno, pero es buena práctica ser explicito.
typescript
// Inferido: number
function sumar(a: number, b: number) {
return a + b;
}
// Explicito: number
function sumar(a: number, b: number): number {
return a + b;
}
Retorno void
Para funciones que no retornan nada.
typescript
function log(mensaje: string): void {
console.log(mensaje);
}
function guardar(datos: { nombre: string }): void {
localStorage.setItem("user", JSON.stringify(datos));
}
Retorno never
Para funciones que nunca terminan.
typescript
function lanzarError(msg: string): never {
throw new Error(msg);
}
function loopInfinito(): never {
while (true) {}
}
Retorno Promise
typescript
async function buscarUsuario(id: number): Promise<string> {
const response = await fetch(`/api/users/${id}`);
return response.json();
}
Retorno tuples
typescript
function divide(a: number, b: number): [number, boolean] {
if (b === 0) return [0, false];
return [a / b, true];
}
const [resultado, exito] = divide(10, 2);
Por qué ser explicito?
typescript
// Sin retorno explicito, TypeScript puede equivocarse
function calcular(a: number, b: number) {
if (b === 0) return "Error"; // TypeScript piensa qué es number | string
return a / b;
}
// Con retorno explicito, el error se detecta antes
function calcular(a: number, b: number): number {
// if (b === 0) return "Error"; // Error de tipos!
return a / b;
}
Ejercicio pratico
Crea una función que retorne un array con [resultado, exito] al dividir dos numeros.
exercise.ts
Loading...
Resultado
Haz clic en "Ejecutar" para ver el resultado...