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:
committed by
Randell Dawson
parent
2b7425efec
commit
3a865623a8
@ -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);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user