Variabile
Blocurile primare a oricărui limbaj
Last updated
Blocurile primare a oricărui limbaj
Last updated
Variabilele sunt mecanismul primar de abstractizare în orice limbaj. Noi lucrăm întotdeauna cu valori, dar nu le putem redeclara de fiecare dată când avem nevoie de ele.
Deseori vrem sa modificăm o valoare, sau să facem operații cu ea. Aici ne ajuta mecanismul de a seta o variabilă, când îi „dăm un nume unei valori”
Variabilele ne permit să facem referință la o valoare cu un nume.
Ele se setează prin operația de atribuire (semnul =
). În partea stîngă avem numele variabilei (în acest caz pet
. În partea dreaptă e o valoare, sau o expresie - rezultatul căreia deja știm că e întotdeauna o valoare nouă.
Putem schimba valoarea oricărei variabile prin aceeași operație de atribuire:
Observați că la prima linie, am declarat variabila, și am folosit cuvântul cheie let, după care am reutilizat aceeași variabilă si i-am schimbat valoarea.
După cum spuneam, putem avea în parte dreaptă a operației de atribuire și o expresie:
Până acum, de fiecare dată când am declarat o variabilă, am utilizat cuvântul cheie let în fața ei. Mai avem 2 cuvinte cheie:
let
și const
e o evoluție recentă de cuvinte cheie, var
e ceva mai vechi. Recomandarea modernă e sa folosim let
și const
, și să NU folosim var
, din motiv că e un pic mai complex (mai putin logic) mecanismul de scopuri și vizibilitate.
În linii generale:
let
- îl folosim în cazul general, când vrem sa declarăm o variabile care ne așteptăm să își modifice valoarea, pe care o vom manipula și modifica
const
- îl folosim în cazul când vrem să declarăm o constantă. Constanta nu își poate modifica valoarea, și JavaScript va arunca o eroare dacă vom încerca să-i dăm una.
Unul din motivele primare pentru introducerea cuvintelor cheie noi let și const a fost definiția clară când și in ce grup o variabilă e vizibilă.
În termeni generali, o variabilă e vizibilă doar în scopul în care a fost declarată. Un scop e definit de acoladele { .... }
. Exemple și detalii mai multe despre aceste blocuri le vom afla în capitolele următoare.
În exemplul de mai sus, variabila pet
e vizibilă peste tot. În același timp variabila anotherPet
e vizibilă doar în cadrul blocului definit de { ... }
. Încercarea să o accesăm în afara blocului ne va da o eroare.
Putem de asemenea să redefinim variabile cu același nume în diferite scopuri:
Aici vedeți ca variabla pet are valori diferite în dependență de scopul din care e accesată.
Scopurile in JavaScript sunt ierarhice. Putem defini scopuri înauntru la alte scopuri, și regulile de vizibilitate vor fi întotdeauna aceleași: o variabilă din scop exterior, va fi vizibilă într-un scop interior, invers nu.
În capitolul următor vom vedea diferitele tipuri de date care pot fi atribuite la variabile și semnificația lor.