DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js💊| #32: Explica este código JavaScript

Explica este código JavaScript

¿Cuál es la diferencia entre las siguientes funciones?

// primera función
function sumar(a, b){
  return a + b;
}

// segunda función
const sumar = (a, b) => {
  return a + b;
}
Enter fullscreen mode Exit fullscreen mode

A. No hay diferencia, son exactamente iguales.
B. La primera función es más rápida que la segunda.
C. La primera función tiene hoisting, la segunda no.
D. Solo cambia la sintaxis, luego son iguales.

Respuesta en el primer comentario.


Latest comments (1)

Collapse
 
duxtech profile image
Cristian Fernando • Edited

Respuesta:
C. La primera función tiene hoisting, la segunda no.

Con una función como la primera es posible hacer esto:

console.log(suma(3,5)); //8
function sumar(a, b){
  return a + b;
}
Enter fullscreen mode Exit fullscreen mode

Podemos llamar a la función antes de su declaración, caracteristica que se denomina hoisting.

Con una función de flecha esto no es posible:

console.log(sumar(3,5)); // ReferenceError: can't access lexical declaration 'sumar' before initialization 

const sumar = (a, b) => {
  return a + b;
}
Enter fullscreen mode Exit fullscreen mode