ADS

Que Son Las Funciones Flecha En JavaScripts

Que Son Las Funciones Flecha En JavaScripts


Las funciones flecha son una forma de escribir funciones en JavaScript que se introdujo en el estándar ES6. Tienen una sintaxis más concisa y algunas ventajas sobre las funciones tradicionales. En este artículo te explicaré qué son las funciones flecha, cómo se declaran, cuáles son sus diferencias con las funciones normales y cuándo usarlas.


¿Qué son las funciones flecha?


Las funciones flecha son una forma alternativa de definir funciones en JavaScript que usa una sintaxis más corta y simple. El nombre viene del símbolo `=>` que se usa para separar los parámetros de la función del cuerpo de la misma. Por ejemplo, la siguiente función tradicional:

Las funciones flecha son una forma de escribir funciones en JavaScript que se introdujo en el estándar ES6. Tienen una sintaxis más concisa y algunas ventajas sobre las funciones tradicionales. En este artículo te explicaré qué son las funciones flecha, cómo se declaran, cuáles son sus diferencias con las funciones normales y cuándo usarlas.


javascript

function sumar(a, b) {

return a + b;

}

```


Se puede escribir como una función flecha así:


```javascript

const sumar = (a, b) => a + b;

```


Como puedes ver, la función flecha es más breve y no necesita las palabras clave `function` ni `return`. Además, si la función solo tiene un parámetro, se pueden omitir los paréntesis que lo rodean. Por ejemplo:


```javascript

const cuadrado = x => x * x;

```


¿Cómo se declaran las funciones flecha?


Las funciones flecha se pueden declarar de dos formas: como expresiones o como expresiones asignadas a variables. Veamos cada caso con más detalle.


### Funciones flecha como expresiones


Las funciones flecha como expresiones son aquellas que se usan directamente en el lugar donde se necesita una función, sin asignarlas a ninguna variable. Por ejemplo, si queremos pasar una función como argumento de otra función, podemos usar una función flecha como expresión. Por ejemplo:


```javascript

// Función que recibe una función y un número y aplica la función al número

function aplicar(funcion, numero) {

return funcion(numero);

}


// Llamamos a la función aplicar pasando una función flecha como expresión

aplicar(x => x * 2, 5); // Devuelve 10

```


Funciones flecha como expresiones asignadas a variables


Las funciones flecha como expresiones asignadas a variables son aquellas que se asignan a una variable usando el operador `=`. De esta forma, podemos usar la variable como si fuera el nombre de la función. Por ejemplo:


```javascript

// Asignamos una función flecha a la variable saludo

const saludo = nombre => `Hola ${nombre}`;


// Llamamos a la función usando la variable

saludo("Pedro"); // Devuelve "Hola Pedro"

```


¿Cuáles son las diferencias entre las funciones flecha y las funciones normales?


Las funciones flecha tienen algunas diferencias con respecto a las funciones normales que debemos tener en cuenta antes de usarlas. Estas diferencias son:


- Las funciones flecha no tienen su propio objeto `this`. Esto significa que dentro de una función flecha, el valor de `this` es el mismo que el del contexto donde se definió la función. Esto puede ser útil para evitar problemas con el cambio de `this` cuando usamos funciones dentro de objetos o métodos. Por ejemplo:


```javascript

// Objeto con un método que usa una función normal

const persona = {

nombre: "Ana",

saludar: function() {

// Dentro de esta función, this es el objeto persona

console.log(`Hola soy ${this.nombre}`);

// Definimos una función normal dentro del método

function despedir() {

// Dentro de esta función, this es el objeto global (window)

console.log(`Adiós soy ${this.nombre}`); // Devuelve "Adiós soy undefined"

}

// Llamamos a la función normal

despedir();

}

};


// Llamamos al método del objeto

persona.saludar();


// Objeto con un método que usa una función flecha

const persona2 = {

nombre: "Ana",

saludar: function() {

Uso cookies para darte un mejor servicio.
Mi sitio web utiliza cookies para mejorar tu experiencia. Acepto Leer más