Izado

Cualquier variable var que aparezca dentro de un ámbito, esa declaración es tomada para pertenecer y ser accesible a lo largo de todo el ámbito.

Metafóricamente, este comportamiento es llamado izado, cuando la declaración de una var es conceptualmente movida al inicio del ámbito que la encierra. Técnicamente, este proceso se entiende con mas precisión por como el código es compilado, pero podemos omitir esos detalles por ahora.

Considere:

var a = 2;

foo();                    // funciona ya que la `foo()`
                        // declaracion es izada

function foo() {
    a = 3;

    console.log( a );    // 3

    var a;                // la declaracion es izada
                        // al inicio de `foo()`
}

console.log( a );    // 2

Atención: No es común o buena idea confiar en el izado de una variable para usarla antes de que la declaración aparezca en su ámbito; esto puede ser un poco confuso. Es mas común y aceptado usar el izado en las funciones, como se realizo con el llamado a foo() que aparecía antes que su declaración.

results matching ""

    No results matching ""