Capítulo 21: Funciones en Javascript
Las funciones en Javascript son uno de los principales componentes básicos de un programa. Una función es un procedimiento de Javascript: un conjunto de instrucciones que realiza una tarea o calcula un valor. Para utilizar una función, debes definirla en algún lugar del ámbito desde el que deseas llamarla.
Definición de funciones
Una función en Javascript se define con la palabra clave "función", seguida de un nombre, seguido de paréntesis ().
función nombre de función() { // código a ejecutar }
Los corchetes pueden incluir nombres de parámetros separados por comas: (parámetro1, parámetro2, ...)
Parámetros vs Argumentos
Los términos parámetros y argumentos se pueden utilizar para lo mismo: información que se pasa a una función.
De una función, los parámetros son los nombres enumerados en la definición de la función.
Los argumentos son los valores reales que recibe la función cuando es invocada.
Cuando invocas una función, puedes pasarle argumentos. Los argumentos son los valores que pasas a la función.
Invocar funciones
Una función ejecutará su código cuando la llame. Para llamar a una función, haga referencia a su nombre, seguido de paréntesis.
Nombre de la función();
Cuando se llama a una función, los argumentos se pasan a la función como entradas, y la función puede procesarlos para producir una salida.
Funciones de retorno
Una función puede tener una declaración de retorno opcional. La declaración de retorno finaliza la ejecución de la función y especifica un valor que se devolverá a la función que realiza la llamada.
función miFunción() { valor de retorno; }
Funciones anónimas y expresiones de funciones
Las funciones no necesitan tener un nombre. Puede crear funciones anónimas o expresiones de funciones.
Una función anónima es una función sin nombre. Las funciones anónimas generalmente se asignan a variables o se usan como argumentos para otras funciones.
var miFunción = función() { // código a ejecutar }
Una expresión de función es similar a una función anónima, excepto que se usa como parte de una expresión más grande, como una operación aritmética o una llamada de función.
(función() { // código a ejecutar })();
Funciones de flecha
Las funciones de flecha son una nueva sintaxis para escribir funciones en Javascript introducida en ES6. Son más cortas y más fáciles de escribir que las funciones tradicionales.
var miFunción = () => { // código a ejecutar }
Las funciones de flecha tienen algunas diferencias con las funciones normales. Lo más notable es que el valor de "this" dentro de una función de flecha está determinado por el contexto de invocación, no por la función en sí.
En resumen, las funciones son una parte vital de Javascript y se utilizan para encapsular código para que pueda reutilizarse. Pueden tomar argumentos, devolver valores y ser nombrados o anónimos. Con la llegada de ES6, también tenemos la opción de utilizar la sintaxis de la función de flecha para escribir código más conciso.