Ir al contenido principal

Entradas

Hoisting en JavaScript ¿qué es exactamente?

¿Qué es Hoisting?
Empecemos con la definición técnica:

"El concepto de Hoisting fue pensado como una manera general de referirse a cómo funcionan los contextos de ejecución en JavaScript (específicamente las fases de creación y ejecución). Sin embargo, el concepto puede ser un poco confuso al principio. Conceptualmente, por ejemplo, una estricta definición de hoisting sugiere que las declaraciones de variables y funciones son físicamente movidas al comienzo del código, pero esto no es lo que ocurre en realidad. Lo que sucede es que las declaraciones de variables y funciones son asignadas en memoria durante la fase de compilación, pero quedan exactamente en dónde las has escrito en el código." -- Definición de Hoisting según MDN.

Ejemplos para entender que es Hoisting Tenemos un archivo app.js con el siguiente código conectado a un index.html cualquiera, aquí solo nos interesa el contenido del archivo JavaScript:

Ya todos nos imaginamos cual es el resultado al ejecutar esto.…
Entradas recientes

Funciones en JavaScript EM6

Funciones en JavaScript EM6 Recuerden que pueden jugar con JS desde el navegador con F12 y luego la opción console o desde https://jsbin.com La forma tradicional como definíamos una función era: function myFunction(){...}Un ejemplo puntual sería: function printMyName (name) { console.log(name);}​printMyName('Carlos');La nueva forma de hacerlo: const printMyName = (name) => { console.log(name);}​printMyName('Carlos');Si no necesitamos pasarle valores a la función podemos hacerlo de la siguiente manera:

Definición de variables con JavaScript EM6

Let & ConstEs una nueva forma para definir variables
var: Usar para valores que cambiarán en una variable
let hace lo mismo que var
const: Usarlo solamente cuando se definen valores que no van a cambiar. Una prueba que podemos correr en la consola de JavaScript (en el navegador puedes presionar F12 y la opción console) var myName = 'Carlos';console.log(myName);​myName='Nathas';console.log(myName);La palabra var define una variable al igual que lo hace la nueva palabra let let myName = 'Carlos';console.log(myName);​myName='Nathas';console.log(myName);Los ejemplos anteriores no cambian en absoluto, pero si corremos el código con la palabra const un error tendremos