JavaVariabile script: dichiara, assegna un valore con esempio

⚡ Riepilogo intelligente

JavaLe variabili di script memorizzano valori come nomi e numeri, oppure il risultato di un'espressione. Dichiarandone una con `var`, `let` o `const`, si riserva uno spazio denominato che il resto dello script può leggere e aggiornare.

  • 🔘 Dichiarazione: Le parole chiave var, let o const creano il nome prima che qualsiasi riga di codice lo legga o lo scriva.
  • ☑️ Incarico: Un singolo segno di uguale copia un valore nella variabile, sia sulla riga di dichiarazione che successivamente.
  • Denominazione: I nomi iniziano con una lettera, un simbolo del dollaro o un trattino basso, e le lettere maiuscole e minuscole sono considerate diverse.
  • 🧪 Parole chiave moderne: `const` è adatto ai valori che non cambiano mai, `let` è adatto ai valori che cambiano, e `var` sopravvive principalmente negli script legacy.
  • Scopo: let e const rimangono all'interno delle rispettive parentesi graffe, mentre var si estende all'intera funzione circostante.
  • ???? Difetti comuni: Riassegnare una costante, leggere un let troppo presto o omettere la parola chiave generano ciascuno un errore distinto.

Dichiarare un JavaVariabile di script e assegnazione di un valore ad essa

Le variabili vengono utilizzate per memorizzare valori (nome = "John") o espressioni (somma = x + y). Ogni valore che uno script conserva per dopo — un nome utente, un totale progressivo, un flag sì o no — risiede in una variabile, quindi dichiararle e nominarle bene è la prima abilità da acquisire in JavaCopione.

Dichiara variabili in JavaCopione

Prima di utilizzare una variabile, è necessario dichiararla. Per dichiarare una variabile, si utilizza la parola chiave `var` in questo modo:

var name;

La sola dichiarazione crea il nome e nient'altro. A questo punto la variabile esiste ma ha il valore speciale undefined, perché non le è stato ancora assegnato alcun valore.

⚠️ Nota sulla versione: var è la parola chiave di dichiarazione originale e viene ancora eseguita in ogni browser. ES6 (2015) aggiunto lasciare and const, che sono le parole chiave moderne JavaUtilizzo dello script. Entrambi vengono confrontati con var più avanti in questa pagina.

Assegnare un valore alla variabile

È possibile assegnare un valore alla variabile durante la dichiarazione della variabile o dopo aver dichiarato la variabile.

var name = "John";

OR

var name;

name = "John";

Entrambe le forme terminano con lo stesso risultato. Il singolo segno di uguale è il operatore di assegnazione: copia il valore alla sua destra nella variabile alla sua sinistra. Non è un test di uguaglianza, che si scrive == o === e appartiene a dichiarazioni condizionali.

Variabili di denominazione

Sebbene sia possibile assegnare alle variabili nomi a piacere, è buona norma di programmazione utilizzare nomi descrittivi e significativi. Inoltre, i nomi delle variabili devono iniziare con una lettera e sono sensibili alle maiuscole e minuscole. Pertanto, le variabili studentname e studentName sono diverse perché la lettera "n" nel nome è diversa (n e N).

Quattro regole stabiliscono se un nome è valido o meno:

  1. Il primo carattere deve essere una lettera, un simbolo del dollaro o un trattino basso, mai una cifra.
  2. Dopo il primo carattere, sono ammessi lettere, cifre, simboli del dollaro e trattini bassi.
  3. Gli spazi non sono ammessi, motivo per cui un'idea composta da due parole viene unita come studentName anziché essere lasciata come due parole separate.
  4. Le parole riservate come var, let, const, class e return non possono essere riutilizzate come nomi.

Per convenzione JavaI nomi degli script utilizzano la notazione camelCase, quindi la prima parola è minuscola e ogni parola successiva inizia con una lettera maiuscola: firstName, totalPrice, isLoggedIn.

Lo script seguente dichiara due variabili, applica ad esse i cinque operatori aritmetici e scrive ogni risultato sulla pagina. Provate anche voi:

<html>
<head>
<title>Variables!!!</title>
<script type="text/javascript">
var one = 22;
var two = 3;
var add = one + two;
var minus = one - two;
var multiply = one * two;
var divide = one/two;
	document.write("First No: = " + one + "<br />Second No: = " + two + " <br />");
	document.write(one + " + " + two + " = " + add + "<br/>");
	document.write(one + " - " + two + " = " + minus + "<br/>");
	document.write(one + " * " + two + " = " + multiply + "<br/>");
	document.write(one + " / " + two + " = " + divide + "<br/>");
</script>
</head>
<body>
</body>
</html>

var vs let vs const in Modern JavaCopione

Esisteva solo var quando JavaLo script è stato scritto inizialmente e presenta due caratteristiche che sorprendono i principianti: può essere ridichiarato silenziosamente e ignora i limiti di blocco. Sono state aggiunte le parole chiave `let` e `const` per risolvere entrambi i problemi. La tabella seguente mette a confronto le tre parole chiave.

Comportamento var lasciare const
Obbiettivo Funzione completa Blocco di delimitazione Blocco di delimitazione
Può essere riassegnato Si Si Non
Può essere ridichiarato nello stesso ambito Si Non Non
Valore richiesto nella riga di dichiarazione Non Non Si
Leggere prima della sua dichiarazione Restituisce undefined Errore di riferimento Errore di riferimento

Una semplice abitudine copre quasi tutti i casi: allungare la mano const prima, passare a lasciare nel momento in cui un valore deve effettivamente cambiare, come un contatore all'interno di uno dei JavaCicli di scripte mantieni la variabile per leggere il vecchio codice invece di scriverne di nuovo.

Portata variabile e sollevamento in JavaCopione

L'ambito di visibilità di una variabile determina quali parti di uno script possono accedervi. Una dichiarazione `var` appartiene alla funzione che la contiene, quindi non viene visualizzata all'interno di alcun blocco `if` o `for` di tale funzione. Una dichiarazione `let` o `const` appartiene alla coppia di parentesi graffe che la racchiudono e scompare al di fuori di esse.

function demo() {
  if (true) {
    var wide = "visible throughout demo()";
    let narrow = "visible only inside these braces";
  }
  console.log(wide);
  console.log(narrow);
}

Il primo console.log stampa la sua stringa. Il secondo genera un ReferenceError, perché narrow non esiste più una volta terminato il blocco if.

sollevamento è la seconda parte della storia. JavaLo script registra ogni dichiarazione in un ambito prima di eseguire una singola riga di tale ambito. Un nome di variabile viene registrato e impostato su undefined, quindi leggerlo in anticipo è legale ma inutile. Un nome let o const viene registrato senza un valore e lo spazio tra la parte superiore del blocco e la riga di dichiarazione è chiamato zona morta temporale.

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

console.log(b);
let b = 2;

La prima riga stampa undefined. La terza riga si interrompe con "Cannot access 'b' before initialization" - l'errore che rende let più sicuro di var, perché indica l'errore reale invece di nasconderlo.

Errori comuni nella dichiarazione JavaVariabili di script

Cinque messaggi rappresentano la maggior parte dell'output della console che i principianti vedono quando imparano a usare le variabili. Ognuno di essi indica una causa specifica, quindi la soluzione di solito consiste in una sola riga di codice.

Messaggio della console Causare Fissare
SyntaxError: l'identificatore 'x' è già stato dichiarato let o const usati due volte per lo stesso nome in un blocco Riutilizza la variabile esistente oppure rinomina la seconda
TypeError: assegnazione a variabile costante A una costante è stato assegnato un nuovo valore Dichiaralo con let se il valore deve cambiare
ReferenceError: Impossibile accedere a 'x' prima dell'inizializzazione Un valore let o const è stato letto all'interno della zona morta temporale. Spostare la lettura sotto la riga di dichiarazione
ReferenceError: x non è definito Il nome non è mai stato dichiarato, oppure è stato scritto in modo errato. Dichiaralo, oppure correggi l'ortografia e le maiuscole/minuscole
Il valore indefinito compare dove era previsto un valore La variabile è stata dichiarata ma non le è mai stato assegnato alcun valore. Assegna un valore prima della prima lettura

L'aggiunta di "use strict" all'inizio di un file trasforma la versione silenziosa del quarto caso, ovvero l'assegnazione a un nome che non è mai stato dichiarato, in un errore visibile, motivo per cui è necessario in ogni nuovo script. Le stesse regole sulle variabili vengono trasferite senza modifiche a array, oggettie codice lato server scritto per Node.js.

DOMANDE FREQUENTI

Uno qualsiasi di loro. JavaScript è un linguaggio a tipizzazione dinamica, quindi una variabile può contenere prima un numero, poi una stringa, poi un oggetto. La dichiarazione riserva un nome, non un tipo. Usa typeof per verificare cosa contiene una variabile in un dato momento.

JavaLo script crea una variabile globale implicita, che altro codice può sovrascrivere accidentalmente. Aggiungendo "use strict" all'inizio del file, la stessa riga viene trasformata in un ReferenceError, in modo che l'errore appaia immediatamente invece di propagarsi silenziosamente.

`undefined` significa che la variabile è stata dichiarata ma non le è mai stato assegnato un valore. `null` è un valore che si assegna intenzionalmente per indicare "niente qui". Entrambi sono valori falsi, tuttavia `typeof undefined` restituisce "undefined" mentre `typeof null` restituisce "object".

L'operatore più unisce il testo quando uno dei due lati è una stringa, quindi 22 + "3" produce "223". Converti prima con Number() o parseInt() quando si intende eseguire un'operazione aritmetica.traction non ha alcun significato testuale, quindi “3” − 1 restituisce correttamente 2.

Sì. `const` blocca il binding, non il valore, quindi le proprietà di un oggetto `const` e gli elementi di un array `const` possono comunque cambiare. Riassegnare la variabile stessa genera un `TypeError`. Utilizzare `Object.freeze()` quando il contenuto deve rimanere fisso.

Gli assistenti IA integrati negli editor moderni suggeriscono una parola chiave e un nome descrittivo dal contesto circostante, segnalano una variabile che dovrebbe essere costante e rinominano ogni utilizzo in un unico passaggio. Considera ogni suggerimento come una bozza e verifica che l'ambito sia corretto.

Spesso sì. Secondo pilota legge il codice nelle vicinanze e offre nomi che corrispondono allo stile circostante, il che aiuta a sostituire i segnaposto come x o temp. RevEsamina attentamente ogni nome, perché anche un suggerimento apparentemente semplice può descrivere la cosa sbagliata.

`console.log()` stampa il valore corrente nella console del browser. Per un'analisi più dettagliata, imposta un punto di interruzione nel pannello Sorgenti degli Strumenti per sviluppatori e passa il mouse sopra il nome, oppure aggiungilo all'elenco di controllo, per leggere il valore esattamente in quella riga.

Riassumi questo post con: