Izado en JavaScript

JavaScript elevación : Aquí, vamos a aprender acerca de una característica poco común de JavaScript que es elevación con ejemplos .

JavaScript elevación

Una característica poco común de JavaScript que los desarrolladores junior y las personas que acaban de comenzar el aprendizaje de JavaScript tienden a ignorar es elevación . Antes ES6, las variables en JavaScript solamente se declaran con la palabra clave var y todas las declaraciones fueron colocados en la parte superior. Esto significa que si haces algo como esto no se obtiene un error,

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

Usted recibirá 5 aparecen en la consola. Si usted ha trabajado con lenguajes como C / C ++ le puede resultar extraño. En estos idiomas, se puede esperar un error que dice algo así como x no está definido porque compilador lee de arriba a abajo. Así se ejecuta JavaScript también de arriba a abajo? Bueno, si lo fuera, no sería capaz de hacerlo. Entonces ¿cómo es que podemos usar una variable, y os lo más tarde? La respuesta es elevación . medios de elevación móviles todas las declaraciones a la parte superior . Esto significa que mientras se ejecuta el código, todas las declaraciones de variables están en la parte superior por lo que hasta el momento que llegan a x = 5 línea que ya sabe que x ha sido declarado en alguna parte variable del programa.

Veamos otro ejemplo,

y=3;
function setRandom(y){
console.log('Before declaring y: ' ,y);
}
var y;
console.log('After declaring y: ',y);

elevación se comportamiento class de JavaScript. Si alguien no está familiarizado con este concepto, puede introducir errores en el programa. Por lo tanto la mejor práctica es declarar todas las variables en la parte superior.

El class

Vamos a modificar el primer ejemplo un poco,

console.log(x);            //Undefined
var x=5;

elevación estrictamente dice que inicializaciones solamente declaraciones de variables se izan y no. Por lo tanto usted conseguirá indefinido debido Js leer el código de arriba y X no fue izada por lo que no tenía sentido cuando el programa llegó a la console.log () comunicado.

Después ES6, dos formas de declarar una variable y se dejaron introduced- class.

Si desea saber más acerca de ellos, consulte el artículo de variables en JavaScript.

dejó class y no se izan . Esto significa que si se utiliza en lugar de var deje que en el ejemplo anterior obtendrá «indefinido» . En realidad, let es izada en un TDZ (zona muerta temporal) . Una zona donde no se puede utilizar variables que no han sido definidos.

Nota: si está utilizando el modo estricto en su Javascript a continuación, usted es más probable que se ejecute en conseguir «indefinido» valores default tales tipos de código, porque el modo estricto no permite ninguna elevación a tener lugar.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *