¿En qué se diferencian las funciones de flecha de las funciones regulares en JS?
Las funciones regulares son las funciones de la “vieja escuela” que utilizamos desde el inicio de JavaScript:
function run() { }
Se pueden ejecutar directamente:
run()
o se pueden asignar a una variable:
const run = function run() { }run()
Al hacerlo, la función también puede ser anónima:
const run = function () { }run()
La única diferencia es que ahora en el seguimiento de la pila que aparece cuando hay un error, ya no verá el nombre de la función.
Las funciones de flecha, introducidas en ES6 en 2015, son algo así como esta última versión de las funciones regulares, porque no tienen nombre. Nunca.
La sintaxis “footprint” es más pequeña:
const run = () = { }run()
Si tenemos un parámetro, podemos omitir los paréntesis:
const run = param = { }run()
Y si sólo tenemos una declaración, también podemos omitir las llaves:
const run = param = 'running'run()
En este caso, el valor de retorno es la cadena 'running'
.
Tanto las funciones de flecha como las funciones regulares se pueden utilizar como métodos de objeto.
Ahora viene la mayor diferencia entre esas dos funciones, y está relacionada con cómo this
está enlazada en un método. Fotos Porno y actrices porno
Considere este ejemplo:
const car = { brand: 'Ford', model: 'Fiesta', start: function() { console.log(`Started ${this.brand} ${this.model}`) }, stop: () = { console.log(`Stopped ${this.brand} ${this.model}`) }}
this
en el start()
método se refiere al objeto mismo.
Pero en el stop()
método, que es una función de flecha, no lo hace.
this
No está vinculado a la instancia del objeto. Apunta a lo que this
apunta en el ámbito externo.
Esto implica que las funciones de flecha no son adecuadas para ser utilizadas en métodos de objeto cuando se desea acceder a this
.
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
Funciones de flecha vs funciones regulares en JavaScript
Las funciones regulares son las funciones de la “vieja escuela” que utilizamos desde el inicio de JavaScript: ¿En qué se diferencian las funciones de fle
programar
es
https://aprendeprogramando.es/static/images/programar-funciones-de-flecha-vs-funciones-regulares-en-javascript-2346-0.jpg
2024-10-18
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente