Update index.md (#26598)

- "Arrow functions" translates to "Funciones Flecha".
- Better structure in the syntax of some sentences.
- Translated code snippets comments
This commit is contained in:
Manuel Artigas
2019-08-13 11:16:15 -03:00
committed by Randell Dawson
parent 2b7425efec
commit 3a865623a8

View File

@ -1,27 +1,27 @@
--- ---
title: Arrow Functions title: Arrow Functions
localeTitle: Funciones de flecha localeTitle: Funciones Flecha
--- ---
Las funciones de flecha son una nueva sintaxis de ES6 para escribir expresiones de funciones de JavaScript. La sintaxis más corta ahorra tiempo y simplifica el alcance de la función. Las funciones flecha son una nueva sintaxis de ES6 para escribir expresiones de funciones en JavaScript. Esta corta sintaxis ahorra tiempo y simplifica el alcance de la función.
## ¿Qué son las funciones de flecha? ## ¿Qué son las funciones flecha?
Una expresión de función de flecha es una sintaxis más concisa para escribir expresiones de función utilizando un token de "flecha gruesa" ( `=>` ). La función flecha es una sintaxis más concisa para escribir expresiones de función utilizando un token de "flecha gruesa" ( `=>` ).
### La sintaxis básica. ### La sintaxis básica.
A continuación se muestra un ejemplo básico de una función de flecha: A continuación se muestra un ejemplo básico de una función flecha:
```javascript ```javascript
// ES5 syntax // Sintaxis de ES5
var multiply = function(x, y) { var multiply = function(x, y) {
return x * y; return x * y;
}; };
// ES6 arrow function // Función flecha de ES6
var multiply = (x, y) => { return x * y; }; var multiply = (x, y) => { return x * y; };
// Or even simpler // O más simple aún
var multiply = (x, y) => x * y; var multiply = (x, y) => x * y;
``` ```
@ -29,33 +29,33 @@ Como se puede ver en el ejemplo, **si la lógica de la función se escribe en un
Si se incluyen corchetes (cuando el contenido de la función se escribe en varias líneas), es necesario declarar el `return`. Si se incluyen corchetes (cuando el contenido de la función se escribe en varias líneas), es necesario declarar el `return`.
### Un simplificado `this` ### Un `this` simplificado
Antes de funciones de dirección, nuevas funciones definen su propio `this` valor. Para usar `this` dentro de una expresión de función tradicional, tenemos que escribir una solución como esta: Antes de las funciones flecha, las nuevas funciones defininían su propio valor `this`. Para usar `this` dentro de una expresión de función tradicional, teníamos que escribir una solución como esta:
```javascript ```javascript
// ES5 syntax // Sintaxis de ES5
function Person() { function Person() {
// we assign `this` to `self` so we can use it later // Asignamos `this` a la variable `self` y asi podemos usarla luego.
var self = this; var self = this;
self.age = 0; self.age = 0;
setInterval(function growUp() { setInterval(function growUp() {
// `self` refers to the expected object // La variable `self` se refiere al objeto esperado
self.age++; self.age++;
}, 1000); }, 1000);
} }
``` ```
Una función de la flecha no define su propio `this` valor, se hereda `this` de la función de cerramiento: Una función flecha no define su propio valor `this`, hereda `this` de la función de cierre:
```javascript ```javascript
// ES6 syntax // Sintaxis de ES6
function Person(){ function Person(){
this.age = 0; this.age = 0;
setInterval(() => { setInterval(() => {
// `this` now refers to the Person object, brilliant! // `this` ahora se refiere al objeto Person, genial!
this.age++; this.age++;
}, 1000); }, 1000);
} }