Qual è la differenza tra Var, Let e Const in Javascript
Mi è stato chiesto durante un colloquio. In quel momento sapevo che aveva qualcosa a che fare con l'ambito ma non potevo spiegarlo chiaramente e che var proveniva da ES5 mentre let e const è ES6 che è solo la versione più recente di Javascript. Così ho deciso di ripercorrere i fondamenti di Javascript e vedere se riesco a mettere ciò che imparo con parole mie.
Var Vs Let Vs Const
Quindi qual è la differenza tra tutti e 3 e perché è importante? Oltre a essere testato su questo durante un'intervista, può darti conseguenze indesiderate durante la codifica. Var non ha un ambito di blocco ma Let e Const sì. L'ambito del blocco è il codice che vedi all'interno di { } e le cose al di fuori delle parentesi non possono accedere alle cose al suo interno. È facile vedere con esempi
Ecco un esempio che utilizza Var
Cosa pensi verrà registrato dalla console?
Se la tua risposta è Albert due volte, allora hai ragione. Poiché Var non ha un ambito di blocco, la variabile name è stata sovrascritta in Albert alla riga 4 e console.log alle righe 5 e 8 fa riferimento alla riga 4.
Confronta con quando usi Let e Const
Perché let e const console hanno registrato sia Albert che Sam invece che solo Albert. Questo ha a che fare con il modo in cui i dati vengono referenziati in memoria. Pensa al nome nella riga 4 nuova memoria creata per let e const e non essere in grado di accedervi al di fuori delle parentesi mentre var nome sulla riga 4 fa riferimento al nome sulla riga 1.
Ecco un esempio per renderlo più chiaro
Come puoi vedere, poiché var non ha un ambito di blocco, ha accesso all'interno delle parentesi ma let e const lo fanno non è possibile accedervi al di fuori delle parentesi. Quindi, tornando all'esempio precedente della riga 1 e 4 che utilizza var name fa riferimento alle stesse variabili di nome, la riga let e const 1 e 4 fa riferimento a 2 diverse variabili di nome. Entrerò più in dettaglio quando parlerò di pass by value vs pass by reference .
Anche una differenza principale tra let e const è che puoi riassegnare i valori a let ma non a const.
Ecco un esempio qui sotto
Come puoi vedere quando usi let puoi cambiare i dati in qualsiasi cosa dopo aver dichiarato la variabile.
Rispetto a const in cui non è possibile modificare i dati una volta dichiarati. Aiuta a prevenire alcune conseguenze indesiderate utilizzando const.
Una buona regola empirica per quando usare let vs const è se sai che i dati possono cambiare, ad esempio un punteggio, allora usa let. Se è improbabile che i dati cambino, utilizzare const.
Quindi si spera che questo aiuti a rafforzare la tua comprensione di var, let e const. Provalo tu stesso su un ambiente di sviluppo integrato (IDE), che ho usatohttps://replit.com/~un IDE web per aiutare a scrivere questo articolo.

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































