Le Variabili in Javascript

Le Variabili in Javascript

Una variabile è uno spazio di memoria con un nome. Immaginalo come uno scatolo, dove metti un etichetta e inserisci al suo interno delle informazioni che ti serviranno.

Ci sono 3 modi per dichiarare una Variabile

  •  usando var (old-school)
  •  usando let
  •  usando const

Con ES6 (EcmaScript 6) c'è stata l'introduzione di let e const mentre prima si usava solo var.

Quali sono le differenze tra var, let, const?

  • le dichiarazioni con var hanno ambito globale o di funzione, mentre le dichiarazioni con let e const hanno ambito di blocco.
  • Le variabili var possono essere aggiornate o ri-dichiarate dentro il loro ambito;
  • le variabili let possono essere aggiornate ma non re-dichiarate
  • le variabili const non possono essere né aggiornate né re-dichiarate.
  • L'hoisting porta tutte le dichiarazioni in cima al loro ambito. Ma mentre le varabili var sono inizializzate con undefined, le variabili let e const non sono inizializzate.
  • Mentre var e let possono essere dichiarate senza essere inizializzate, const deve essere inizializzato durante la dichiarazione.

E' consigliabile quindi usare let anzichè var a seconda della situazione

indice

Esempio di Sintassi: Variabili con var

// bisogna scegliere un nome univoco (attenzione è key sensitive)
// la regola per dare un nome ad una variabile : può iniziare con $ o _ o una lettera [a-Z], è preferibile dare un nome descrittivo.
var esempioVariabile = '';
var $esempioVariabile = '';
var _esempioVariabile = '';
//non è possile iniziare il nome di una variabile con un numero.

// dichiarando una variabile con var è possibile utilizzarla anche al di fuori del blocco di appartenenza, ad esempio
if (true) {
var myname = "Donato";
};
alert(myname);
//questo può creare conflitti e problematiche, per questo è preferibile usare let per dichiarare una variabile

var ridichiarazione = "pippo";
ridichiarazione = "pluto";

console.log(ridichiarazione)
// output = pluto . Questo significa che var può essere ridichiarato

Esempio di Sintassi: Variabili con let

								
// bisogna scegliere un nome univoco (attenzione è key sensitive)
// la regola per dare un nome ad una variabile : può iniziare con $ o _ o una lettera [a-Z], è preferibile dare un nome descrittivo.
let esempioVariabile = '';
let $esempioVariabile = '';
let _esempioVariabile = '';
//non è possile iniziare il nome di una variabile con un numero.

// dichiarando una variabile con let NON è possibile utilizzarla al di fuori del blocco di appartenenza, ad esempio
if (true) {
let myname2 = "Donato";
};
alert(myname2);
// la variabile myname2 non è visibile perchè ha scopo di blocco e fuori dal blocco non è valida.

let ridichiarazione = "pippo";
let ridichiarazione = "pluto";

console.log(ridichiarazione)
// output = Identifier 'ridichiarazione' has already been declared . Questo significa che let NON può essere ridichiarato

Esempio di Sintassi: Variabili con const

// bisogna scegliere un nome univoco (attenzione è key sensitive)
// la regola per dare un nome ad una variabile : può iniziare con $ o _ o una lettera [a-Z], è preferibile dare un nome descrittivo.
const esempioVariabile = '';
const $esempioVariabile = '';
const _esempioVariabile = '';
//non è possile iniziare il nome di una variabile con un numero.

// dichiarando una variabile con let NON è possibile utilizzarla al di fuori del blocco di appartenenza, ad esempio
if (true) {
const myname3 = "Donato";
};
alert(myname3);
// la variabile myname3 non è visibile perchè ha scopo di blocco e fuori dal blocco non è valida.

const ridichiarazione = "pippo";
const ridichiarazione = "pluto";

console.log(ridichiarazione)
// output = Identifier 'ridichiarazione' has already been declared . Questo significa che let NON può essere ridichiarato
						

È preferibile usare const qualora siamo sicuri che i valori al suo interno non debbano cambiare ma al massimo aggiunti.

Esempio di: Le Variabili in Javascript

You say potatoe, I say starchy carbs. Logan Broger is "amazing" and a "wonderful boy" according to Logan's mom.

testo di esempio .testo di esempio .testo di esempio .testo di esempio .testo di esempio .

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Felinamiss. I don't need a big house, just a two-floor condo - you could say I have lofty expectations.

Smiling could easily be misinterpreted for showing your teeth to someone because they said something that made you happy.

I bet most serial killers play the drums. I'm in a band that does Metallica covers with our private parts

Lui cammino ritorni giu strazii. Me vorrei vi ch fresco andate ve. Puo impedisce esistenza tue inebriato sua che solitario.

Emergevano ingannaste tal ingranditi sfaldavano animazione ora impaziente tre. Ci me attesa lo fianco saluta

Codice della Lezione : Le variabili in Javascript

              
// var può essere usato sia in ambito globale che dentro la funzione

// Uso delle variabili con dichiarazione var in ambito globale
var a = 10; 
var b = 20;
var somma1 = a + b;

document.getElementById('txtID1').innerHTML = ('il risultato è ' + somma1);

// Uso delle variabili con dichiarazione var in ambito locale o di funzione
function nuovaFunzione1() {
    var c = 30;
    var d = 40;
    var somma2 = c + d;
    document.getElementById("txtID2").innerHTML = ('il risultato della somma tra le due variabili è ' + somma2);
};
nuovaFunzione1(); // richiamo alla funzione

/*
document.getElementById('variabile_B').innerHTML = ('il risultato è ' + somma2); // error: variabile_B is not defined » Questo perchè si trova al di fuori dalla funzione
*/


// Uso delle variabili con dichiarazione var sia in ambito globale che locale/funzione
// come si può notare la dichiarazine con var in ambito globale
var e = 50;
function nuovaFunzione2() {
    var e = 60;
    document.getElementById('txtID3').innerHTML = ('La variabile \"E\" in ambito locale è ' + e);
};
nuovaFunzione2(); // richiamo alla funzione

document.getElementById('txtID4').innerHTML = ('La variabile \"E\" in ambito globale è ' + e);

// A dimostrazione del fatto che la dichiarazione con var può essere aggiornato e ri-dichiarato, questo può essere anche un problema se nel codice è già presente la stessa parola (in questo caso milano) portando a malfunzionamenti del codice.
var milano = ('A milano c\'è il Duomo');
var milano = ('A milano non c\è il Duomo');
milano = ('A milano il duomo è giallo');
function luogo() {
    var milano = ('A milano il duomo è rosso');
    document.getElementById('txtID5').innerHTML = milano;
};
luogo();
document.getElementById('txtID6').innerHTML = milano;

// A dimostrazione del fatto che la dichiarazione con let non può essere (ri-dichiarato) e quindi non compromette l'usabilità del codice perchè non possono esserci 2 variabili dichiarare con lo stesso nome
let rovigo = ('A Rovigo c\'è il Duomo');
// let rovigo = ('A Rovigo non c\è il Duomo'); Questo causerà l'errore : Uncaught SyntaxError: Identifier 'rovigo' has already been declared
rovigo = ('A Rovigo il duomo è giallo'); // questo serve ad aggiornare la variabile rovigo
function luogo2() {
    let rovigo = ('A Rovigo il duomo è rosso');
document.getElementById('txtID7').innerHTML = rovigo;
}
luogo2();
document.getElementById('txtID8').innerHTML = rovigo;

// 
const salerno = ('A Salerno c\'è il Duomo');
// const salerno = ('A Salerno non c\è il Duomo'); // Questo non è possibile perchè non può essere ri-dichiarato e causerà l'errore : Uncaught SyntaxError: Identifier 'salerno' has already been declared
// salerno = ('A Salerno il duomo è giallo'); // questo non è possibile perchè const non può essere aggironato e causerà l'errore: Uncaught TypeError: Assignment to constant variable
function luogo3() {
    let salerno = ('A Salerno il duomo è rosso');
document.getElementById('txtID9').innerHTML = salerno;
};
luogo3();
document.getElementById('txtID10').innerHTML = salerno;

Scritto da Donato Pirolo

Ciao, sono Donato, frontend developer con una smisurata passione per la SEO. Creo strumenti ad hoc per aiutare aziende e professionisti ad essere cercati sul web e trovare clienti.

Potrebbero interessarti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Copyright © 2022
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram