Hoisting en JavaScript

Hoisting

En la mayoría de los lenguajes de programación, el ámbito/alcance/scope de una variable está en el bloque donde fue definida (block-level scope), por ejemplo, dentro de un bloque if, for, while; sin embargo en JavaScript (ECMAScript 5.1) esto no es así, puesto que el alcance de una variable está en la función en donde fue declarada (function-level scope).

¿Qué es hoisting?

El hoisting o “elevamiento” es una de las particularidades de JavaScript y ocurre cuando declaramos una variable dentro de una función (su scope), entonces el intérprete* interno mueve la declaración (creación) de la variable al inicio de la función.
Continue reading