Funciones en Javascript.

Leonardo Jose Castillo Lacruz
3 min readJun 17, 2023

--

Cuando hablamos de funciones, nos viene a la mente aquel concepto matemático, donde a partir de una entrada obtenemos un resultado procesado.

En programación el concepto de función tiene cierta similitud, en cuanto a que tenemos una entrada (parámetros) y obtenemos un resultado (retorno de la función), adicionalmente tenemos que decir que una función es un bloque código, que podemos ejecutar tantas veces necesitemos, de tal forma que hablamos de reutilización de recursos.

Con la premisa anteriormente indicada, hablemos ahora de funciones en Javascript, las cuales serán bloques de código que recibiran parámetros y retornaran un resultado.

Como declaramos una función en Javascript?

Existen múltiples formas declarar funciones y cada una tiene sus particularidades, veamos cuales son:

Declaración de función

Es la forma más simple y tradicional de declarar o definir una función, su anatomía sigue a continuación:

function <nombreFuncion> (<parametro1>,<parametro2>,...) {
...Bloque de código

return <resultado>;
}

Expresión de función

En Javascript tenemos la particularidad de que podemos tratar las funciones como una variable cualquiera, entonces tomando esta afirmación, veamos como podemos expresar una función:

//Observa que se declara similar a una variable
const <nombreFuncion> = function(<parametro1>,<parametro2>,...) {
return <resultado>;
}

Función de flecha o arrow function

Similar al caso anterior, una función de flecha se declara como una expresión de función, pero con la particularidad de no tener que usar la palabra reservada function, además de tener un par de características adicionales:

  • Si es posible realizar el proceso en una sola línea, no es necesario usar { } ni la palabra reservada return.
  • No tiene contexto de variables
//Es similar a una expresión de función
const <nombreFuncion> = (<parametro1>,<parametro2>,...) => {
...
return <resultado>;
}

Arrow function en una línea

//Es similar a una expresión de función
const <nombreFuncion> = (<parametro1>,<parametro2>,...) => <resultado>;

IIFE (Immediately Invoked Function Expression)

Son funciones que no tienen nombre (anónimas) y que se ejecutan al momento de declararse, a diferencia de las anteriores, que separan los procesos de declaración y de ejecución. Su sintaxis sigue la siguiente anatomía:

( function () {
let texto = 'Esta es una función de tipo IIFE';
return `Función con resultado: ${texto}`
})()

Function constructor

Otra particularidad que Javascript nos ofrece es tener un tipo de dato para identificar las funciones, el tipo Function como lo vimos en el texto de Tipos de Datos de Javascript.

Ahora bien, cómo declaramos una función siguendo esta sintaxis?, veamos:

const <nombreFuncion> = new Function('parametro1', 'parametro2', ... , 
'return <Codigo de la funcion>'
);

Es importante destacar en este tipo de declaración, que tanto los parámetros (los que sean necesarios) y el código de la función se pasan como cadena de caracteres (encerrados entre comillas) y es la clase Function la que a partir de esos datos construye y devuelve una variable de tipo Function

Ahora que sabemos como declarar funciones, usemos la forma más útil en cada caso según nuestras necesidades!

--

--

Leonardo Jose Castillo Lacruz
Leonardo Jose Castillo Lacruz

Written by Leonardo Jose Castillo Lacruz

Desarrollador de software desde 1998. Apasionado por la tecnología. Descubriendo que cuando enseñas aprendes mucho más

No responses yet