0% encontró este documento útil (0 votos)
32 vistas

CORE 03 JavaScript Cliente Mod-3 12

La notación flecha de ES6 permite definir funciones de forma concisa y sin nombre. Las funciones flecha tienen diferencias con las funciones tradicionales como que no tienen el argumento implícito arguments y no modifican el contexto this. Las variables y funciones tienen visibilidad en el ámbito donde se declaran.

Cargado por

Lanncet
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas

CORE 03 JavaScript Cliente Mod-3 12

La notación flecha de ES6 permite definir funciones de forma concisa y sin nombre. Las funciones flecha tienen diferencias con las funciones tradicionales como que no tienen el argumento implícito arguments y no modifican el contexto this. Las variables y funciones tienen visibilidad en el ámbito donde se declaran.

Cargado por

Lanncet
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

Notación flecha (arrow) de ES6

ES6 añade la notación flecha para literales de función (funciones sin nombre)
n Por ejemplo (x, y) => {return x+y;)
w Es concisa y se recomienda utilizarla en programación con estilo funcional
n https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

Tiene las siguientes diferencias con funciones tradicionales


n No tienen la variable de argumentos predefinida arguments
n No modifica el contexto: el objeto this tiene visibilidad léxica
w Esto hace que no puedan ser constructores de objetos

const greet = function (greeting, person) { // defined with function literal


return `${greeting} ${person}, how are you?` ;
};
// Similar function to previous one defined with arrow notation
const greet = (greeting, person) => {
return `${greeting} ${person}, how are you?` ;
};
// Parenthesis may be omitted if only one parameter
const square = x => x*x; // One instruction blocks may omit curly brackets and return

const say_hi = () => "Hi, how are you?"; // function without parameters
© Juan Quemada, DIT, UPM 34
x
let x = "x_glo"; "x_glo" y
let y = "y_glo";
Declaraciones
"y_glo"

function f1 () { x
locales de una let x = "x_loc";
return x + " & " + y ;
"x_loc"

función y ámbito };

// global variable
x; // => "x_glo"

// local x and global y


f1(); // => "x_loc & y_glo"

Las variables y funciones tienen visibilidad sintáctica en JavaScript


n Son visibles solo dentro del ámbito donde se declaran
w En ES5 solo se podían crear ámbitos de visibilidad con funciones
w En ES6 el bloque { ..statements.. } y el módulo crean también nuevos ámbitos de visibilidad
n OJO! Las funciones son visibles antes de su declaración (igual que las variables var)

Una función puede tener declaraciones locales de variables y funciones


n Las declaraciones son visibles solo dentro de la función

Variables y funciones externas son visibles en el bloque de la función


n Siempre que no sean tapadas por otras declaraciones locales del mismo nombre
w Una declaración local tapa a una global del mismo nombre
35
© Juan Quemada, DIT, UPM
Objetos, propiedades, métodos,
DOM, eventos e interacción

Juan Quemada, DIT - UPM


36
© Juan Quemada, DIT, UPM

También podría gustarte