Comenzando

Tabla de Contenidos

Tabla de Contenidos

Tabla de Contenidos

Funciones

Las funciones son bloques de código reutilizables diseñados para realizar tareas específicas. Mejoran la organización del código, reducen la repetición y aumentan la mantenibilidad.

Declarando una Función

Una función se define utilizando la palabra clave function, seguida de un nombre, paréntesis (), y un bloque de código {}.

function greet() {
    console.log("Hello, welcome to JavaScript!");
  }

Para ejecutar una función, debe ser llamada por su nombre con paréntesis:

greet(); // Outputs: Hello, welcome to JavaScript!

Parámetros y Argumentos de Función

Las funciones pueden aceptar parámetros (valores de entrada) y utilizarlos dentro de su bloque.

function greetUser(name) {
    console.log("Hello, " + name + "!");
  }
  
greetUser("Alice"); // Outputs: Hello, Alice!
  • Parámetros son marcadores de posición en la definición de la función.

  • Argumentos son valores reales pasados a la función cuando se llama.

Una función puede tener múltiples parámetros:

function addNumbers(a, b) {
    console.log(a + b);
  }
  
addNumbers(5, 10); // Outputs: 15

Declaración de Retorno

Una función puede devolver un valor utilizando la palabra clave return.

function multiply(x, y) {
    return x * y;
  }
  
let result = multiply(4, 5);
console.log(result); // Outputs: 20
  • Una vez que se ejecuta return, la función deja de ejecutarse.

  • Los valores devueltos pueden ser almacenados en variables para su uso posterior.

Expresiones de Función

Las funciones pueden ser almacenadas en variables como expresiones.

const square = function(num) {
    return num * num;
  };
  
console.log(square(6)); // Outputs: 36
  • Las expresiones de función no tienen un nombre (funciones anónimas).

  • La función se llama utilizando el nombre de la variable.

Funciones Flecha (ES6)

Las funciones flecha proporcionan una sintaxis más corta para escribir funciones.

const multiply = (a, b) => a * b;
console.log(multiply(3, 4)); // Outputs: 12
  • Si la función tiene solo una instrucción, {} y return pueden omitirse.

  • Si hay solo un parámetro, () puede omitirse:

const greet = name => console.log("Hello, " + name);
greet("John"); // Outputs: Hello, John

Parámetros por Defecto

Las funciones pueden tener valores por defecto para los parámetros que se aplican cuando no se proporciona argumento.

function greet(name = "Guest") {
    console.log("Hello, " + name);
}
  
greet(); // Outputs: Hello, Guest
greet("Alice"); // Outputs: Hello, Alice

Parámetros Rest (...)

La sintaxis de parámetro rest permite a una función aceptar múltiples argumentos como un arreglo.

function sum(...numbers) {
  let total = 0;
    for (let num of numbers) {
        total += num;
    }
    return total;
  }
  
console.log(sum(1, 2, 3, 4, 5)); // Outputs: 15
  • El parámetro ...números reúne todos los argumentos en un arreglo.

  • Útil cuando el número de argumentos es desconocido.

Funciones de Retorno (Callback)

Un callback es una función pasada como argumento a otra función y ejecutada más tarde.

function processUser(name, callback) {
    console.log("Processing user: " + name);
    callback();
  }
  
function done() {
      console.log("User processed successfully.");
  }

processUser("Alice", done);
  • processUser llama a done después de imprimir un mensaje.

  • Los callbacks permiten la programación asíncrona y el manejo de eventos.

Expresiones de Función Invocadas Inmediatamente (IIFE)

Una IIFE se ejecuta inmediatamente después de ser definida.

(function() {
    console.log("This function runs immediately!");
})();
  • Envuelta entre paréntesis para ejecutar instantáneamente.

  • Evita contaminar el ámbito global.

Conclusión

Las funciones son una parte fundamental de JavaScript, permitiendo la reutilización de código y la modularidad. La siguiente sección explorará objetos y arreglos, que son esenciales para organizar y gestionar datos.