Contenido del curso

Funciones con parámetros tipados en TypeScript

Resumen

Los métodos son la columna vertebral de cualquier lenguaje de programación, y en TypeScript se vuelven aún más potentes gracias al tipado estático. Aquí aprenderás cómo declarar funciones, pasar parámetros tipados y retornar valores en TypeScript, paso a paso, con ejemplos prácticos que puedes replicar en Visual Studio Code.

¿Cómo se declara una función básica en TypeScript?

Todo empieza con la palabra reservada function, seguida del nombre que le quieras dar. Dentro de los paréntesis defines los parámetros que recibe, y después de los dos puntos indicas el tipo de retorno.

Para este ejemplo, crea una carpeta llamada metodos y dentro un archivo metodos.ts. La primera función que vas a escribir es de tipo void, lo que significa que no devuelve ningún valor, solo ejecuta una acción.

typescript function imprimeMensaje(mensaje: string): void { console.log(mensaje); }

imprimeMensaje("Hola, soy un mensaje");

Para ejecutarla, abre la terminal y compila el archivo con tsc metodos.ts. Eso genera un archivo metodos.js que corres con node metodos.js. En pantalla verás Hola, soy un mensaje.

¿Qué significa que una función sea de tipo void? Que no retorna ningún valor. Solo ejecuta acciones internas, como imprimir en consola, sin devolver datos al lugar donde fue invocada.

¿Cómo crear una función que reciba parámetros y retorne un valor?

Las funciones se vuelven realmente útiles cuando reciben datos, los procesan y devuelven un resultado. Para esto, TypeScript te permite tipar tanto los parámetros como el valor de retorno.

Vamos a crear una función sumar que reciba dos números y retorne un número:

typescript function sumar(numero1: number, numero2: number): number { return numero1 + numero2; }

let resultado: number = sumar(5, 10); console.log("Tu resultado es " + resultado);

Fíjate en algo: el tipo number después de los paréntesis indica que la función obligatoriamente debe devolver un número. Si intentas retornar algo distinto, TypeScript te marcará un error antes incluso de compilar. Esa es justo la magia del tipado estático.

Al compilar con tsc y ejecutar con node, verás en consola Tu resultado es 15.

¿Conviene guardar el resultado en una variable o pasar la función directo al console.log?

Ambas formas funcionan y dan el mismo resultado visual. Puedes hacer esto:

typescript console.log("Tu resultado es " + sumar(5, 10));

O puedes asignar el valor a una variable y luego imprimirla. La diferencia está en la legibilidad. Cuando guardas el resultado en una variable, el código se vuelve más fácil de leer porque queda explícito qué valor recibe qué cosa. Y eso, cuando trabajas en proyectos grandes, importa mucho.

¿Para qué sirve tipar los parámetros de una función? Para garantizar que la función reciba exactamente el tipo de dato esperado. Si pasas un string donde se espera un number, el compilador te avisa antes de ejecutar el código.

¿Cómo extender una función para que haga más de una operación?

Una función no tiene que limitarse a una sola tarea. Puedes pasar un parámetro adicional que indique la operación a realizar y convertir tu función sumar en una función aritmetica mucho más versátil.

La idea sería recibir un tercer parámetro de tipo string con valores como "sumar" o "resta", y dentro del cuerpo de la función decidir qué operación ejecutar según ese valor. Esto te ahorra crear una función distinta para cada operación matemática.

Entre las ideas clave que aparecen en este flujo de trabajo están:

  • La palabra reservada function para declarar métodos.
  • Los parámetros tipados como numero1: number.
  • El tipo de retorno declarado después de los paréntesis.
  • El tipo void para funciones que no devuelven valor.
  • El uso de let con tipado explícito para almacenar resultados.

¿Por qué TypeScript es mejor que JavaScript puro para trabajar con métodos?

La respuesta corta: por el tipado. En JavaScript puro, nada te impide pasar un string donde esperabas un número, y el error solo aparece cuando ya estás ejecutando la aplicación. En TypeScript, el compilador te detiene antes.

Eso te da una secuencia mucho más lógica del flujo de tu aplicación. Cada función deja claro qué recibe, qué hace y qué devuelve. Cuando otro desarrollador (o tú mismo en seis meses) abra ese código, va a entender la intención sin tener que adivinar.

¿Ya probaste crear tu propia función de aritmética con un parámetro de operación? Cuéntame en los comentarios cómo te fue y qué operaciones agregaste.