Alcance y alza de variables en JavaScript | Explicado con ejemplos

Alcance y alza de variables en JavaScript | Explicado con ejemplos
En un programa de JavaScript, el alcance de una variable define hasta qué punto se puede acceder a una variable mientras se aleja en JavaScript es un fenómeno por el cual puede acceder a las variables incluso antes de su inicialización.

Variables Alcance en JavaScript

Antes de sumergirnos en el alcance de la variable primero tenemos que entender qué es una variable en JavaScript y cómo crear una variable.

Una variable actúa como un contenedor que contiene algunos datos. Estas variables se pueden crear utilizando tres palabras clave diferentes como "var", "let" y "const".

En JavaScript, una variable tiene dos tipos de alcance y discutiremos cada uno de ellos con algunos ejemplos.

Bloquear el alcance en JavaScript

JavaScript anterior no es compatible con el alcance del bloque, pero después del lanzamiento de ES6, lo hace. ES6 presenta un par de palabras clave nuevas como Let y Const, estas palabras clave ofrecen alcance de bloque en JavaScript.

El alcance del bloque en JavaScript está representado por los aparatos ortopédicos rizados "", que determina cualquier variable que se declare dentro del alcance del bloque no se puede acceder fuera de él. Las variables inicializadas dentro del bloque se conocen como variables locales.

Ahora entenderemos el funcionamiento de las variables, declarados dentro del alcance del bloque.

Variable declarada con la palabra clave "var" no es compatible con el alcance del bloque, significa que también podemos acceder a la variable desde fuera del bloque. Considere el siguiente ejemplo donde la variable se declara con la palabra clave "var" y observa cómo funciona:

si es verdad)

var a = 100;
consola.log ("Variable dentro del alcance del bloque:", a);

Creamos una variable dentro del bloque usando la palabra clave "var" y le asignamos el valor '100'. Cuando accedamos a esa variable dentro del bloque, mostrará la siguiente salida:

Mejore el ejemplo anterior un poco más y acceda a la variable 'A' fuera del bloque:

si es verdad)

var a = 100;
consola.log ("Variable dentro del alcance del bloque:", a);

consola.log ("Variable fuera del alcance del bloque:", a);

Ahora observe la salida:

La salida verifica que la palabra clave "var" no puede tener alcance de bloque.

Ahora cree las variables con la palabra clave "Let" y "const", e intente acceder a ellas desde fuera del alcance del bloque:

si es verdad)

dejar a = 100;
const B = 150;
consola.log ("Deje dentro del alcance del bloque:", a);
consola.log ("const dentro del alcance del bloque:", b);

consola.log ("Deje fuera del alcance del bloque:", a);
consola.log ("const fuera del alcance del bloque:", b);

Ahora acceda a las variables desde adentro y desde fuera del bloque:

La salida verificará que estas variables sean accesibles dentro del alcance del bloque, pero cuando intentamos acceder a ellas desde fuera del alcance del bloque, se produce un error "Referenceerror no capturado":

Alcance global en JavaScript

Las variables a las que se puede acceder desde cualquier lugar desde el exterior o dentro de la función/bloque se conocen como variables de alcance global. No importa que se creen fuera de la función/bloque o dentro de la función o el bloque i.mi. Variable creada dentro del bloque con la palabra clave 'var' se puede acceder desde cualquier lugar del código JavaScript.

En JavaScript, si una variable no se declara correctamente, entonces, por defecto, se creará en el alcance global.

Considere el siguiente ejemplo y observe cómo funciona una variable global:

var a = 100;
Sea B = 120;
const c = 250;
si es verdad)

consola.log ("Variable global:", a);
consola.log ("Variable global:", b);
consola.log ("Variable global:", c);

En este ejemplo, declaramos las variables a nivel mundial y accedimos a ellas en el bloque de Estado IF:

La salida verifica que podemos acceder a las variables en cualquier parte del programa que se definan a nivel mundial:

Alusar en JavaScript:

El elevación se refiere a un fenómeno que mueve las declaraciones variables a la cima.

Aquí necesitamos comprender la diferencia entre la declaración variable y la inicialización de la variable, por ejemplo, "var a", es una declaración variable, mientras que "a = 10" es una inicialización variable. Ahora tomaremos un ejemplo para comprender cómo escribimos el código y cómo JavaScript interpreta ese código:

var a = 10;
documento.escribe un);
var b = 20;

JavaScript lo leerá como:

var a;
var b;
a = 10;
documento.escribe un);
b = 20;

JavaScript mueve la parte de la declaración en la parte superior mientras la parte de inicialización permanece en su posición.

Hasta ahora en todos los ejemplos, creamos una variable y le asignamos algún valor y luego accedemos a la variable al final. ¿Qué pasa si intentamos acceder a cualquier variable antes de su inicialización/declaración?. Bueno, en ese caso, JavaScript muestra un valor indefinido como lo hizo en el siguiente ejemplo:

consola.Log ("Acceso antes de la declaración:", a);
var a = 45;

En este ejemplo, intentamos imprimir el valor de la variable "a", antes de su declaración, luego en la siguiente declaración creamos la variable y le asignamos un valor. En la ejecución exitosa, obtendremos la siguiente salida:

Esto sucede porque, incluso antes de la ejecución de este código, JavaScript asignó un valor indefinido al "var"Entonces dice"consola.registro (a)" y luego "a = 45", Por lo tanto, muestra indefinido en lugar de 45.

Mientras omitir la palabra clave "var" significa que no estamos declarando una variable en su lugar, solo estamos iniciando una variable. En este caso, si intentamos acceder a una variable antes de su declaración, enfrentaremos un referenceerRor como lo hicimos en el siguiente ejemplo:

consola.Log ("Acceso antes de la declaración:", a);
a = 45;

Intentamos imprimir el valor de "A" en la consola antes de su declaración y luego, en la siguiente declaración, asignamos un valor a la variable 'a' sin usar la palabra clave "var":

Obtenemos la siguiente salida:

Conclusión

En JavaScript, el alcance de la variable determina dónde puede acceder a una variable en el código mientras zo de las variables se refiere al concepto de invocar las declaraciones de variables a la parte superior del programa. Este artículo proporciona los ejemplos a punto para comprender el concepto de alcance y elevación de la variable en JavaScript.