Novedades ES6: Funciones flecha

Funciones flecha

En ES6 se introducen las funciones de flecha (Arrow Function). A continuación se puede ver como se declaraba una función antes de ES6 y con ES6.

Antes de ES6

      var multiplicar = function(valor1,valor2){
      
          return valor1 * valor2;
      
      }
       

Con ES6

      const multiplicarES6 = (valor1, valor2) => valor1 * valor2;
       

Se elimina function y se introduce => . A continuación un ejemplo de una función que tiene más de una línea y que utiliza la interpolación. La interpolación es la capacidad de insertar expresiones dentro de cadenas de caracteres.

      const holaMundo = (nombre) => {
      
        //Interpolación
        let saludo = `Hola Mundo ${nombre}`;
      
        return saludo;
      
      }
       

Si la función tiene que devolver un objeto agregamos los paréntesis como en el siguiente ejemplo

      const getObjecto = (nombre, edad)=>({
      
        nombre: nombre,
      
        edad: edad
      
      });
      console.log(getObjecto("Daniel",44))
       

Resultado: {nombre: 'Daniel', edad: 44}

Para declarar una función anónima tenemos que encerrar la función entre paréntesis. A continuación un ejemplo:

      console.log((nombre => `Hola Mundo ${nombre}`)("Daniel"));
       

Resultado: Hola Mundo Daniel

Con las funciones flecha this siempre representa al objeto que definió a la función flecha