TIPOS DE FUNCIONES EN JAVASCRIPT

  • Function Declaration (Declaración de Función): Es la forma clásica de declarar funciones. JavaScript “mueve” la declaración al inicio del scope, por lo que se puede usarla antes de que aparezca en el código.

    function greet() {
      return "Hello";
    }
    
  • Function Expression (Expresión de Función): La función se asigna a una variable. Solo se puede usar después de que se haya declarado la variable. Es más segura y se usa mucho con "const" o "let".

    const greet = () => "Hello";
    
  • IIFE (Immediately Invoked Function Expression): Esta función es un ejemplo clásico de un callback. Básicamente, es una función que recibe a otra función como argumento para ejecutarla más tarde..

    function fetchData(cb) {
      cb("Data received");
    }
    
  • Higher-Order Function (Función de Orden Superior): Su única tarea es recibir una función por parámetro y ejecutarla inmediatamente usando un valor predefinido.. Ejemplos clásicos: map(), filter(), reduce().

    function process(fn) {
      return fn(10);
    }
    
  • Pure Function (Función Pura): Se trata de una función pura y predecible. Al no tener efectos secundarios —no muta estado externo, no realiza I/O ni interactúa con la consola—, garantiza que para una misma entrada siempre obtendrás el mismo comportamiento. Este determinismo es clave para escribir código testable, desacoplado y fácil de razonar.

    function add(a, b) {
      return a + b;
    }
    
  • Arrow Function (Función Flecha): Es más concisa y no crea su propio contexto de "this", lo que evita errores comunes al trabajar con clases, objetos o componentes de React..

    const greet = () => "Hello";