馃敟 TIPOS, FUNCTIONS (FUNCIONES)

Las funciones son el componente mas b谩sico del como los datos son transferidos a trav茅s de JavaScript. TypeScript permite especificar los tipos de los par谩metros recibidos as铆 como del tipo de valor retornado.

Anotaciones para los par谩metros de una funci贸n

Cuando se declara una funci贸n es posible a帽adir anotaciones despu茅s de cada uno de los par谩metros de manera que estos indiquen el tipo de cada uno de estos.

function saludar(nombre: string) {
    console.log(`Hola ${nombre}`);
}

saludar("Sandra");

Cuando se proporciona un valor invalido al argumento, este genera un error en el compilar.

Tipos de valor de retorno de la funci贸n

Es posible tambi茅n definir el tipo de valor que retorna la funci贸n.

function elevarAlCuadrado(base: number): number {
    return base * base;
}

let numeroBase = 10;
let numeroAlCuadrado = elevarAlCuadrado(numeroBase);
console.log(numeroAlCuadrado);

En el ejemplo anterior hemos utilizado un n煤mero base que es 10, este se asigna a la variable numeroBase, de ah铆 se pasa como argumento a la funci贸n elevarAlCuadrado la cual especifica que debe retornar un numero number.

As铆 como pasa con las variables, en muchas de las ocasiones no es necesario especificar el tipo que una funci贸n retorna ya que TypeScript obtiene este desde la propia interpretaci贸n del c贸digo basado en la instrucci贸n return.

Funciones an贸nimas

Las funciones an贸nimas an贸nimas son un poco diferentes de las funciones declarativas. Cuando una funci贸n aparece en un lugar en donde TypeScript determina como la funci贸n va a ser invocada, los par谩metros de esta funci贸n son asignados autom谩ticamente.

const nombres = ["Juan", "Pedro", "Luis"];

nombres.forEach(function (s) {
    console.log(s.toUpperCase());
});

nombres.forEach((s) => {
    console.log(s.toUpperCase());
});

En el ejemplo anterior hemos iterado la variable nombres mediante funciones an贸nimas. En el segundo caso utilizando una funci贸n que ademas de ser an贸nima es una funci贸n tipo flecha o arrow function. En ambos ejemplos TypeScript recibe la funci贸n y puede determinar el tipo de los argumentos, en este caso a partir del arreglo que contiene strings.

Al igual que en otros escenarios en donde el tipo puede ser determinado es posible omitir las anotaciones, pero si considera que estas ayudaran a la legibilidad y a entender mejor el algoritmo, se recomienda que se utilicen.