Funciones de dirección de JavaScript
Funciones de dirección de JavaScript
De la larga lista de nuevas características, preparada para su aprobación por el JavaScript en ECMAScript 6 (el cuerpo de estándares de JavaScript), uno que realmente se destaca es las funciones de dirección de JavaScript.
Factor de forma ideales de un minimalista, la sintaxis de ultra delgado de la función de flecha le da el potencial para convertirse en tan ubicuo como literales de matriz en la sustitución de definición de matriz tradicional, pero para las funciones de su lugar.
El factor adopción amplia hace que valga la pena para familiarizarnos con lo que ahora flecha funciones son todos acerca antes de que nos coge por sorpresa en el código fuente de secuencias de comandos en todas partes.
Apoyo sabios funciones de dirección de JavaScript ya son un ir en las últimas versiones de Firefox, y se apoyarán en el IE Edge (Windows 10), con Chrome en el horizonte no muy lejano al parecer.
Consulte a la siguiente para realizar un seguimiento de las funciones de dirección apoya a través de diferentes navegadores.
Arrow características de la función
Antes de profundizar en la sintaxis de las funciones de dirección de JavaScript, vamos a hacer una mosca por primera vez para una vista de alto nivel de la nueva característica:
-
funciones de dirección JavaScript son funciones anónimas
-
Funciones de flecha no se pueden usar como funciones constructoras, (es decir: con la palabra clave
nueva
) -
La unión del léxico
esta
función de flecha en el interior: El valor deeste
dentro de una función flecha apunta siempre a la mismael
objeto del ámbito de la función se define en, y nunca cambia .
Vamos a aclarar algunos de los puntos anteriores posteriores, pero deja para conseguir que el quid de la cuestión ahora!
La sintaxis
Para empezar, las funciones de dirección en JavaScript son siempre en el anonimato , por lo que la primera cosa que arroja es cualquier nombre de la función. También elimina la ” función
de palabras clave”, y utiliza una flecha ( =>
) para separar la parte del parámetro (s) de la función del cuerpo de la función. El resultado en su forma más básica es la siguiente:
1
2
|
// No hay params, cuerpo vacío () => {}; |
1
|
la función () {} |
La parte a la izquierda de la flecha ( =>
) son los parámetros en paréntesis , ya la derecha son las declaraciones de función en las llaves . Cuando la función contiene ninguna declaración, no definido
se devuelve.
Si la función contiene un solo parámetro, entonces se puede omitir el paréntesis que lo rodea. Lo mismo ocurre con la función cuerpo- una declaración CUERPO sola no requiere de apoyos a su alrededor:
1
2
|
// Sola param, sola declaración x => x; |
1
2
3
|
la función (x) { volver x; } |
1
2
|
// Sola param, sola declaración x => x + 5; |
1
2
3
|
la función (x) { volver x + 5; } |
Cuando su función de flecha sólo contiene una declaración solo cuerpo sin tirantes alrededor de ella, se volverá automáticamente el valor derivado de esa declaración; no hay necesidad de usar la palabra clave ” retorno
“.
Para las funciones de dirección con más múltiples parámetros, envolverlos en paréntesis:
1
2
|
// múltiples params (X, y) => x * y; |
1
2
3
|
función (x, y) { volver x * y; } |
Si el cuerpo de la función contiene más de una instrucción, envolverlos en llaves:
1
2
3
4
5
|
// múltiples params y declaraciones (X, y) => { var = factor de 5; var crecimiento = (xy) * Factor; } |
1
2
3
4
|
función (x, y) { var = factor de 5; var crecimiento = (xy) * Factor; } |
Cuando enrolle un cuerpo de función entre llaves, ningún valor se devuelve automáticamente al igual que en una funcionalidad normal se debe utilizar la palabra clave de retorno para ese propósito.
1
2
3
4
5
|
// múltiples params y declaraciones (X, y) => { var z = 5; retorno (x * y) + z; } |
1
2
3
4
|
función (x, y) { var z = 5; retorno (x * y) + z; } |
Si su función flecha contiene una declaración único cuerpo que devuelve un objeto literal, es necesario envolver el cuerpo de la función entre paréntesis a la prevención de las llaves que rodean el objeto literal de ser interpretado como una envoltura de la función del cuerpo:
1
2
3
|
// Solo objeto afirmación literal // Cuerpo de la función Wrap entre paréntesis x => ({id: x, altura: 270}); |
1
2
3
|
// O // Usar rendimiento explícito x => { retorno {id: x, altura: 270}}; |
1
2
3
|
la función (x) { retorno {id: x, altura: 270}; } |
La sintaxis para las funciones de dirección de JavaScript es muy fácil de recordar a las siguientes reglas:
-
Para las funciones de dirección con un solo parámetro, se puede omitir el paréntesis () alrededor del perímetro.
-
Para las funciones de dirección sin o varios parámetros, envolver los parámetros entre paréntesis.
-
Para las funciones de dirección con una declaración solo cuerpo, se pueden omitir las llaves {} alrededor de la declaración. El valor derivado de la declaración se devuelve automáticamente sin tirantes.
-
Para las funciones de dirección con declaraciones CUERPO múltiples, envolverlos en llaves. Ningún valor se devuelve automáticamente con el uso braces- el
retorno de
declaración para especificar el valor. -
Si un cuerpo de función contiene sólo un único objeto literal, envolver el cuerpo de la función entre paréntesis () para diferenciarla de la envoltura objeto literal.
Ahora que tenemos una comprensión sólida de la sintaxis de las funciones de flecha, vamos a pasar a ver cómo utilizar efectivamente ellos, y también, exponer una diferencia clave entre las funciones de dirección y funciones anónimas en lo que respecta al valor de la “presente” oponerse dentro de ellos.
Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros