Hervera
Open Menu
6 particularidades que hacen las funciones en Javascript muy versátiles y a su vez es de los elementos que hacen de este lenguaje de programación uno de los más actuales.

Javascript es un lenguaje muy potente y con una aproximación funcional que nos da muchas oportunidades.
Pero al mismo tiempo, al tener tantos modos de trabajar y tipos de funciones puede llegar a ser un poco confuso.
Por eso es interesante conocer las características que hacen que las funciones en Javascript sean tan especiales y potentes.

  1. Las funciones son objetos.
    A diferencia de otros lenguajes de programación es que las funciones son objetos, por lo que se pueden asignar a variables, crear en tiempo de ejecución o destruir.
  2. Las funciones en Javascript pueden ser anónimas o tener nombre.
    Debido a una propiedad de Javascript llamada "hoisting", una función con nombre, se puede usar antes de ser declarada, ya que todas las declaraciones se mueven al principio del ámbito.
    let total = suma(1,5);
    function suma(a, b){
      return a + b;
    }
    Si son anónimas, podrán ser asignadas a variables y usadas como otra variable más.
    let operacion = function(a, b){
      return a + b;
    }
    let resultado = operacion(1,5);
    operacion = function(a, b){
      return a - b;
    }
    
    resultado = operacion(4,1);
                            
  3. Los parámetros que se le pueden pasar a una función, son "infinitos"
    Aunque una función defina dos parámetros de entrada o incluso ninguno, es posible pasar los parámetros que consideremos necesarios, más o menos y estos estarán disponibles en la función mediante el array arguments. Que esto sea una buena práctica ya es otro tema.
  4. Las funciones flecha y el uso del this
    En las versiones más modernas de Javascript se han añadido las funciones flecha. Es un tipo de notación más sencilla y orientada a un tipo de programación más funcional. Son siempre anónimas y no pueden ser usadas como constructores. Se comportan casi igual excepto por el uso del this, que no define un this propio si no que utiliza el del contexto de ejecución que la contiene.
  5. Closures y visibilidad
    Las funciones en javascript nos permiten crear closures y tratar la visibilidad de las propiedades o métodos.
    Podemos crear funciones dentro de funciones, de esta forma solo serán accesibles dentro de la función padre.
    Pasará lo mismo con las variables definidas dentro de las funciones.
  6. Tipos de funciones Hay varios tipos de funciones que hay que conocer. Los más importantes son:
    • Funciones simples
      function suma(a, b){
        return a + b;
      }
    • Funciones anónimas
      let suma = function(a, b){
        return a + b;
      }
    • Funciones factoría
      function createUser(name, age){
        function sayHello(){
          console.log('hello!');
        }
        return {name: name, age: age, sayHello: sayHello}
      }
    • Funciones inmediatamente invocadas (IIFE)
      (function(){
        console.log("hello!");
      })();

Fotografía de portada de: unsplash-logoTaras Shypka