Prompteo

Unidad 5 · 1 min

Funciones tipadas

Parámetros, retornos, funciones como valores y promesas.

Funciones tipadas

Una función se tipa en tres lugares: sus parámetros, su retorno y —cuando la pasas como valor— su firma completa.

function greet(name: string) {
  console.log("Hello, " + name.toUpperCase() + "!!");
}

function getFavoriteNumber(): number {
  return 26;
}

El retorno casi siempre se puede inferir. Anotarlo igual tiene un valor concreto: el error aparece dentro de la función, donde está la causa, en vez de aparecer en quien la llama.

Parámetros opcionales

Un parámetro opcional lleva ? y su tipo pasa a incluir undefined:

function printName(obj: { first: string; last?: string }) {
  if (obj.last !== undefined) {
    console.log(obj.last.toUpperCase());
  }
}

async

Una función async devuelve una promesa, así que su retorno se envuelve:

async function getFavoriteNumber(): Promise<number> {
  return 26;
}

Funciones como tipo

Un tipo puede describir una función. En una interface genérica, la firma de llamada se escribe entre llaves:

interface GenericIdentityFn<Type> {
  (arg: Type): Type;
}

Una función que no devuelve nada tiene retorno void.