Elevación de JavaScript (con ejemplos)

En este tutorial, aprenderá sobre la elevación de JavaScript con la ayuda de ejemplos.

La elevación en JavaScript es un comportamiento en el que una función o variable se puede utilizar antes de la declaración. Por ejemplo,

 // using test before declaring console.log(test); // undefined var test;

El programa anterior funciona y la salida no estará definida. El programa anterior se comporta como

 // using test before declaring var test; console.log(test); // undefined

Dado que la variable test solo se declara y no tiene valor, undefinedse le asigna un valor.

Si desea obtener más información sobre las variables, visite Variables de JavaScript.

Nota : En el levantamiento, aunque parece que la declaración se ha movido hacia arriba en el programa, lo que realmente sucede es que las declaraciones de función y variable se agregan a la memoria durante la fase de compilación.

Elevación variable

En términos de variables y constantes, la palabra clave vares izado y lety constno permite izar.

Por ejemplo,

 // program to display value a = 5; console.log(a); var a; // 5

En el ejemplo anterior, la variable a se usa antes de declararla. Y el programa funciona y muestra la salida 5. El programa se comporta como:

 // program to display value var a; a = 5; console.log(a); // 5

Sin embargo, en JavaScript, las inicializaciones no se elevan. Por ejemplo,

 // program to display value console.log(a); var a = 5;

Salida

 indefinido

El programa anterior se comporta como:

 var a; console.log(a); a = 5;

Solo la declaración se mueve a la memoria en la fase de compilación. Por tanto, el valor de la variable a se undefineddebe a que a se imprime sin inicializarla.

Además, cuando la variable se usa dentro de la función, la variable se eleva solo a la parte superior de la función. Por ejemplo,

 // program to display value var a = 4; function greet() ( b = 'hello'; console.log(b); // hello var b; ) greet(); // hello console.log(b);

Salida

 hola Uncaught ReferenceError: b no está definido

En el ejemplo anterior, la variable b se eleva a la parte superior de la función greety se convierte en una variable local. Por tanto, b solo es accesible dentro de la función. b no se convierte en una variable global.

Para obtener más información sobre las variables locales y globales, visite Alcance variable de JavaScript.

Nota : En elevación, la declaración de variable solo es accesible para el alcance inmediato.

Si se usa una variable con la letpalabra clave, esa variable no se eleva. Por ejemplo,

 // program to display value a = 5; console.log(a); let a; // error

Salida

 Error de referencia no detectado: no se puede acceder a 'a' antes de la inicialización

Mientras se usa let, la variable debe declararse primero.

Función de elevación

Se puede llamar a una función antes de declararla. Por ejemplo,

 // program to print the text greet(); function greet() ( console.log('Hi, there.'); )

Salida

 Hola

En el programa anterior, greetse llama a la función antes de declararla y el programa muestra la salida. Esto se debe al izado.

Sin embargo, cuando se usa una función como expresión , se produce un error porque solo se levantan declaraciones. Por ejemplo;

 // program to print the text greet(); let greet = function() ( console.log('Hi, there.'); )

Salida

 Error de referencia no detectado: saludar no está definido

Si varse utilizó en el programa anterior, el error sería:

 Error de tipo no detectado: saludar no es una función

Nota : Generalmente, la elevación no se realiza en otros lenguajes de programación como Python, C, C ++, Java.

La elevación puede causar resultados no deseados en su programa. Y es mejor declarar variables y funciones primero antes de usarlas y evitar las elevaciones.

En el caso de las variables, es mejor utilizar letque var.

Articulos interesantes...