Ambito e sollevamento delle variabili in JavaScript | Spiegato con esempi

Ambito e sollevamento delle variabili in JavaScript | Spiegato con esempi
In un programma JavaScript, l'ambito di una variabile definisce fino a che punto è possibile accedere a una variabile mentre l'arrivo in JavaScript è un fenomeno attraverso il quale è possibile accedere alle variabili anche prima della loro inizializzazione.

Variabili Ambito in JavaScript

Prima di immergerti nell'ambito della variabile, dobbiamo capire cosa è una variabile in JavaScript e come creare una variabile.

Una variabile funge da contenitore che contiene alcuni dati. Queste variabili possono essere create utilizzando tre diverse parole chiave come "var", "let" e "const".

In JavaScript, una variabile ha due tipi di portata e ne discuteremo ciascuno di essi con alcuni esempi.

Blocca l'ambito in JavaScript

Precedente JavaScript non supporta l'ambito del blocco, ma dopo il rilascio di ES6, lo fa. ES6 introduce un paio di nuove parole chiave come let e const, queste parole chiave offrono ambito di blocco in javascript.

L'ambito di blocco in JavaScript è rappresentato da Braces Curly "", che determina qualsiasi variabile dichiarata all'interno dell'ambito del blocco non può essere accessibile al di fuori di esso. Le variabili inizializzate all'interno del blocco sono note come variabili locali.

Ora comprenderemo il funzionamento delle variabili, dichiarato all'interno dell'ambito del blocco.

La variabile dichiarata con la parola chiave "var" non supporta l'ambito del blocco, significa che possiamo accedere anche alla variabile dall'esterno del blocco. Considera l'esempio seguente in cui la variabile viene dichiarata con la parola chiave "var" e osserva come funziona:

se è vero)

var a = 100;
console.log ("variabile all'interno dell'ambito del blocco:", a);

Abbiamo creato una variabile all'interno del blocco utilizzando la parola chiave "var" e assegnargli il valore "100". Quando accediamo a quella variabile all'interno del blocco mostrerà la seguente uscita:

Migliora l'esempio sopra un po 'di più e accedi alla variabile "A" al di fuori del blocco:

se è vero)

var a = 100;
console.log ("variabile all'interno dell'ambito del blocco:", a);

console.log ("variabile al di fuori dell'ambito del blocco:", a);

Ora osservi l'output:

L'output verifica che la parola chiave "var" non possa avere un ambito di blocco.

Ora crea le variabili con la parola chiave "let" e "const" e prova ad accedervi dall'esterno dell'ambito del blocco:

se è vero)

Lascia che a = 100;
const b = 150;
console.log ("Let all'interno dell'ambito del blocco:", a);
console.log ("const all'interno dell'ambito del blocco:", b);

console.log ("Lascia fuori dall'ambito del blocco:", a);
console.log ("const all'esterno dell'ambito del blocco:", b);

Ora accedi a entrambe le variabili dall'interno e dall'esterno del blocco:

L'output verificherà che queste variabili siano accessibili all'interno dell'ambito del blocco ma quando proviamo ad accedervi dall'esterno dell'ambito del blocco, si verifica un errore "Riferimento non integrato":

Ambito globale in JavaScript

Le variabili che possono essere accessibili da qualsiasi luogo dall'esterno o all'interno della funzione/blocco sono note come variabili di portata globale. Non importa che siano creati al di fuori della funzione/blocco o all'interno della funzione o del blocco i.e. La variabile creata all'interno del blocco con la parola chiave "var" può essere accessibile da qualsiasi luogo nel codice JavaScript.

In JavaScript, se una variabile non viene dichiarata correttamente, per impostazione predefinita verrà creata nell'ambito globale.

Considera il seguente esempio e osserva come funziona una variabile globale:

var a = 100;
Sia b = 120;
const c = 250;
se è vero)

console.log ("variabile globale:", a);
console.log ("variabile globale:", b);
console.log ("variabile globale:", c);

In questo esempio, abbiamo dichiarato le variabili a livello globale e accessiamole nel blocco IF-Statement:

L'output verifica che possiamo accedere alle variabili ovunque nel programma definite a livello globale:

Sollevare in JavaScript:

L'allenamento si riferisce a un fenomeno che sposta le dichiarazioni variabili in cima.

Qui dobbiamo comprendere la differenza tra la dichiarazione variabile e l'inizializzazione variabile, ad esempio "var a", è una dichiarazione variabile mentre "a = 10" è inizializzazione variabile. Ora faremo un esempio per capire come scriviamo il codice e come JavaScript interpreta quel codice:

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

JavaScript lo leggerà come:

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

JavaScript sposta la parte della dichiarazione in alto mentre la parte dell'inizializzazione rimane nella sua posizione.

Finora in tutti gli esempi, abbiamo creato una variabile e ci abbiamo assegnato un certo valore e quindi accediamo alla variabile alla fine. Cosa succede se proviamo ad accedere a qualsiasi variabile prima della sua inizializzazione/dichiarazione. Bene, in quel caso, JavaScript mostra un valore indefinito come nel seguente esempio:

console.log ("Accesso prima della dichiarazione:", a);
var a = 45;

In questo esempio, proviamo a stampare il valore della variabile "a", prima della sua dichiarazione, quindi nella prossima istruzione abbiamo creato la variabile e assegnargli un valore. Durante l'esecuzione riuscita, otterremo il seguente output:

Ciò accade perché, anche prima dell'esecuzione di questo codice JavaScript, assegnava un valore indefinito al "var a"Quindi si legge"console.log (a)" poi "A = 45", Pertanto mostra indefinito invece di 45.

Mentre salti la parola chiave "var" significa che non stiamo dichiarando una variabile invece stiamo solo inizializzando una variabile. In questo caso, se proviamo ad accedere a una variabile prima della sua dichiarazione, affronteremo un referenceError come abbiamo fatto nell'esempio seguente:

console.log ("Accesso prima della dichiarazione:", a);
a = 45;

Cerchiamo di stampare il valore di "A" sulla console prima della sua dichiarazione e quindi nella prossima istruzione assegniamo un valore alla variabile "a" senza utilizzare la parola chiave "var":

Otteniamo il seguente output:

Conclusione

In JavaScript, l'ambito della variabile determina dove è possibile accedere a una variabile nel codice mentre il sollevamento delle variabili si riferisce al concetto di invocare le dichiarazioni delle variabili in cima al programma. Questo articolo fornisce gli esempi per capire il concetto di portata e sollevamento della variabile in JavaScript.