JAVASCRIPT STATEMENT
In questo post parleremo di variabili dichiarate can var o let dando uno sguardo anche alla nomenclatura comunemete utilizzata dai programmatori per il nome di variabile. Introduciamo l’argomento riguardante la “Sintassi Javascript” parlando prima di statements (istruzioni).
let a, b, c; // Statement 1
a = 5; // Statement 2
b = 6; // Statement 3
c = a + b; // Statement 4
Lo statement (istruzione) let a, b, c dichiara tre variabili. Un programma è un elenco di “statement” che devono essere “eseguiti” da un computer. In HTML, i programmi JavaScript vengono eseguiti dal browser web, più precisamente vi è un interprete e un compilatore JIT (Just In Time) che velocizza l’esecuzione del codice. Gli statement (istruzioni) JavaScript sono composti da:
- valori
- operatori
- espressioni
- parole chiave
Esempio:
document.getElementById(“demo“).innerHTML = “Hello World.“;
La maggior parte dei programmi JavaScript contiene molti statements. Le istruzioni vengono eseguite, una per una, nello stesso ordine in cui sono scritte. (quì ritorna l’analogia con l’operatore dell’ufficio postale che deve servire delle persone in coda una alla volta Single-Thread).
SEMICOLONS
I punti e virgola separano le istruzioni JavaScript.
let a, b, c; // Dichiara tre variabili
a = 5; // Assegna il valore 5 ad a
b = 6; // Assegna il valore 6 a b
c = a + b; // Assegna la somma di a e di b a c
Se separati da punto e virgola, sono consentite più istruzioni su una riga:
a = 5; b = 6; c = a + b;
Sul Web, potresti vedere esempi senza punto e virgola. Le istruzioni finali con punto e virgola non sono obbligatorie, ma altamente consigliate. Un’altra buona pratica è quella di mettere degli spazi intorno agli operatori ( = + – * / ):
let x = y + z;
Per una migliore leggibilità, i programmatori spesso preferiscono evitare righe di codice più lunghe di 80 caratteri. Se un’istruzione JavaScript non si adatta a una riga, il posto migliore per interromperla è dopo un operatore:
BLOCCHI DI CODICE
Un’istruzione di blocco (o un’istruzione composta in altri linguaggi) viene utilizzata per raggruppare zero o più istruzioni. Il blocco è delimitato da una coppia di parentesi graffe e può opzionalmente essere etichettato: Un posto in cui troverai le istruzioni raggruppate in blocchi, è nelle funzioni JavaScript:
function myFunction() {
let a = 5;
console.log(a);
}
Le istruzioni JavaScript spesso iniziano con una parola chiave per identificare l’azione JavaScript da eseguire. Le parole chiave parlando della sintassi JavaScript sono parole riservate. Tali parole non possono essere utilizzate come nomi per le variabili. Ecco un elenco di alcune delle parole chiave che imparerai in questo tutorial:
SINTASSI JAVASCRIPT
VALORI JAVASCRIPT
La sintassi JavaScript definisce due tipi di valori:
- Fixed values
- Variable values
I valori fissi sono chiamati literal (letterali). I valori variable sono chiamati variabili.
VALORI LITERALAS
Le due regole sintattiche più importanti per i valori fissi sono:
- I numeri sono scritti con o senza decimali:
40.50
1401
- Le stringhe sono testo, scritto tra virgolette doppie o singole:
“Mario Rossi”
‘Mario Rossi’
VARIABILI JAVASCRIPT
In un linguaggio di programmazione, le variabili vengono utilizzate per memorizzare i valori dei dati. JavaScript utilizza le parole chiave var, let e const per dichiarare le variabili. Un segno di uguale = viene utilizzato per assegnare valori alle variabili.
In questo esempio, x è definita come una variabile. Quindi, a x viene assegnato (dato) il valore 16:
let x;
x = 16;
OPERATORI JAVASCRIPT
- JavaScript utilizza gli operatori aritmetici (+ – * / ) per calcolare i valori:
(15 + 6) * 10
- Utilizza un operatore di assegnazione ( = ) per assegnare valori alle variabili:
let x, y;
x = 25;
y = 26;
I valori possono essere di vario tipo, come numeri e stringhe.
Ad esempio, “Mario” + ” “ + “Rossi“, restituisce “Mario Rossi“: In questo caso l’operatore + è l’operatore di concatenamento.
IDENTIFICATORI JAVASCRIPT
Gli identificatori sono nomi JavaScript. Gli identificatori vengono utilizzati per denominare variabili, parole chiave e funzioni. Le regole per i nomi legali sono le stesse nella maggior parte dei linguaggi di programmazione. Un nome JavaScript deve iniziare con:
- Una lettera (A-Z o a-z)
- Un simbolo del dollaro ($)
- Oppure un trattino basso (_)
I caratteri successivi possono essere lettere, cifre, trattini bassi o $.
Tutti gli identificatori JavaScript fanno distinzione tra maiuscole e minuscole (case sensitive). Le variabili lastName e lastname, sono due variabili diverse. JavaScript non interpreta LET o Let come parola chiave. Storicamente, i programmatori hanno utilizzato diversi modi per unire più parole in un nome di variabile:
trattini:
- first-name, last-name, master-card, inter-city.
- I trattini non sono consentiti in JavaScript. Sono riservati alle sottrazioni
Underscore:
first_name, last_name, master_card, inter_city sono nomi di variabili validi.
Upper Camel Case (Pascal Case):
FirstName, LastName, MasterCard, InterCity.
Lower Camel Case:
I programmatori JavaScript tendono a utilizzare il camel case che inizia con una lettera minuscola:
firstName, lastName, masterCard, interCity.
APPROFONDIMENTO AI
In JavaScript, le variabili sono utilizzate per memorizzare valori e dati che possono essere richiamati, manipolati o utilizzati all’interno di un programma. Sono uno dei concetti fondamentali della programmazione, in quanto permettono di gestire e conservare informazioni in maniera dinamica. Di seguito viene fornita una descrizione dettagliata delle variabili in JavaScript, spiegando i diversi tipi di dichiarazione, la loro portata (scope), e come funzionano i concetti di assegnazione e aggiornamento.
1. Dichiarazione delle variabili
In JavaScript, esistono tre parole chiave principali per dichiarare una variabile: var, let, e const.
a. var
•È il modo tradizionale per dichiarare una variabile in JavaScript (prima dell’introduzione di let e const in ECMAScript 6).
•Le variabili dichiarate con var sono funzionali o globali. Questo significa che, se dichiarate all’interno di una funzione, sono visibili solo all’interno della funzione (scope locale), mentre se dichiarate al di fuori di una funzione, diventano variabili globali.
•Supporta l’hoisting, il che significa che la dichiarazione della variabile viene spostata all’inizio del contesto esecutivo, ma l’inizializzazione no. Questo può portare a comportamenti imprevisti.
Esempio:
var x = 5;
if (true) {
var x = 10; // Modifica la variabile x globale
}
console.log(x); // Output: 10
b. let
•Introdotto in ECMAScript 6, let permette di dichiarare variabili con uno scope di blocco. Ciò significa che la variabile esiste solo all’interno del blocco {} in cui è stata dichiarata.
•A differenza di var, non supporta l’hoisting nello stesso modo, rendendo il codice più prevedibile.
Esempio:
let x = 5;
if (true) {
let x = 10; // Variabile diversa, scope di blocco
}
console.log(x); // Output: 5
c. const
•Anche const è stato introdotto in ECMAScript 6. Viene utilizzato per dichiarare variabili che non possono essere riassegnate. La variabile dichiarata con const deve essere inizializzata immediatamente e non può essere aggiornata successivamente.
•Anch’esso è vincolato allo scope di blocco, come let.
•Anche se il riferimento a un oggetto o un array è costante, le proprietà interne possono essere modificate.
const x = 10;
x = 20; // Errore: non si può riassegnare una costante
const obj = { name: “Alice” };
obj.name = “Bob“; // Questo è permesso perché stiamo modificando una proprietà interna dell’oggetto
2. Scope delle variabili
Lo scope (ambito) di una variabile definisce il contesto in cui essa è accessibile.
•Global Scope: Una variabile dichiarata al di fuori di tutte le funzioni o blocchi è globale e accessibile da qualsiasi parte del codice.
•Function Scope (Scope della funzione): Le variabili dichiarate all’interno di una funzione con var sono accessibili solo all’interno della funzione stessa.
•Block Scope (Scope del blocco): Con let e const, una variabile è accessibile solo all’interno del blocco in cui è stata dichiarata (tra {}). Questo include blocchi come cicli for, while, e blocchi condizionali if.
Esempio di block scope:
if (true) {
let x = 5;
}
console.log(x); // Errore: x non è definita al di fuori del blocco
3. Hoisting
L’hoisting è il comportamento di JavaScript che sposta le dichiarazioni delle variabili (var) e le funzioni in cima al loro contesto di esecuzione. Tuttavia, solo la dichiarazione è spostata in alto, non l’inizializzazione.
Esempio di hoisting con var:
console.log(x); // Output: undefined (non errore)
var x = 5;
Esempio con let:
console.log(y); // Errore: y non è definita
let y = 10;
4. Assegnazione e aggiornamento delle variabili
Una volta dichiarata una variabile, è possibile assegnarle un valore e poi aggiornarlo (eccetto per le costanti const, che non possono essere riassegnate).
Esempio:
let x = 5;
x = 10; // Variabile aggiornata
console.log(x); // Output: 10
Con const, come già detto, una volta assegnato un valore, la variabile non può essere modificata.
5. Tipi di dati associati alle variabili
Le variabili in JavaScript possono contenere diversi tipi di dati:
•Numeri (number): es. 42, 3.14
• Stringhe (string): es. “Hello, world!”
• Booleani (boolean): es. true, false
•Array: es. [1, 2, 3]
• Oggetti: es. { name: “Alice”, age: 30 }
•Null: un valore intenzionalmente vuoto.
•Undefined: indica che una variabile è stata dichiarata ma non ha ancora un valore assegnato.
•Symbol: un tipo di dato primitivo unico e immutabile introdotto in ECMAScript 6.
6. Regole di denominazione
Le variabili in JavaScript devono seguire alcune regole per quanto riguarda i nomi:
•Devono iniziare con una lettera, un underscore _ o un simbolo del dollaro $.
•Non possono iniziare con un numero.
•I nomi delle variabili sono case-sensitive, il che significa che myVariable e myvariable sono due variabili diverse.
Esempio di nomi validi:
let _var = 1;
let $element = “div“;
let myVariable = 10;
7. Best practices
•Usare let o const al posto di var: È considerata una buona pratica moderna usare let per variabili che possono essere riassegnate e const per costanti, perché prevengono problemi dovuti allo scope e all’hosting.
•Assegnazione significativa: Dare nomi chiari e descrittivi alle variabili per facilitare la leggibilità del codice.
•Minimizzare le variabili globali: Dichiarare troppe variabili globali può creare conflitti e errori difficili da individuare.
Conclusione
Le variabili in JavaScript sono strumenti potenti che consentono di memorizzare e gestire dati all’interno dei programmi. Comprendere come funzionano var, let, e const, insieme a concetti come scope e hoisting, è fondamentale per scrivere codice JavaScript efficiente e privo di errori.
Scrivi un commento