Funciones de dirección de JavaScriptNoticias 

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 de este dentro de una función flecha apunta siempre a la misma el 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:

sintaxis de la función Flecha
1
2
// No hay params, cuerpo vacío
() => {};
función equivalente Regular
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:

sintaxis de la función Flecha
1
2
// Sola param, sola declaración
x => x;
función equivalente Regular
1
2
3
la función (x) {
    volver x;
}
sintaxis de la función Flecha
1
2
// Sola param, sola declaración
x => x + 5;
función equivalente Regular
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:

sintaxis de la función Flecha
1
2
// múltiples params
(X, y) => x * y;
función equivalente Regular
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:

sintaxis de la función Flecha
1
2
3
4
5
// múltiples params y declaraciones
(X, y) => {
    var = factor de 5;
    var crecimiento = (xy) * Factor;
}
función equivalente Regular
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.

sintaxis de la función Flecha
1
2
3
4
5
// múltiples params y declaraciones
(X, y) => {
    var z = 5;
    retorno (x * y) + z;
}
función equivalente Regular
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:

sintaxis de la función Flecha
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}};
función equivalente Regular
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

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Entradas relacionadas