JavaVariabilă de script: declarați, atribuiți o valoare cu exemplu

⚡ Rezumat inteligent

JavaVariabilele de script stochează valori precum nume și numere sau rezultatul unei expresii. Declararea uneia cu var, let sau const rezervă un slot denumit pe care restul scriptului îl poate citi și actualiza.

  • 🔘 Declaraţie: Cuvântul cheie var, let sau const creează numele înainte ca orice linie de cod să îl citească sau să îl scrie.
  • ☑️ Misiune: Un singur semn egal copiază o valoare în variabilă, fie pe linia de declarație, fie ulterior.
  • ✅ Denumire: Numele încep cu o literă, un semn dolar sau un subliniere, iar literele majuscule și minuscule sunt considerate diferit.
  • 🧪 Cuvinte cheie moderne: „const” se potrivește valorilor care nu se schimbă niciodată, „let” se potrivește valorilor care se schimbă, iar „var” supraviețuiește în principal în scripturile vechi.
  • 🛠️ Domeniu de aplicare: let și const rămân în interiorul acoladelor care le înconjoară, în timp ce var atinge întreaga funcție din jur.
  • 📌 Defecțiuni comune: Reatribuirea unei constante, citirea unui let prea devreme sau omiterea cuvântului cheie generează fiecare o eroare distinctă.

Declararea unei JavaVariabilă de script și atribuirea unei valori acesteia

Variabilele sunt folosite pentru a stoca valori (nume = „John”) sau expresii (sumă = x + y). Fiecare valoare pe care un script o păstrează pentru mai târziu — un nume de utilizator, un total, un indicator da-sau-nu — se află într-o variabilă, așa că declararea și denumirea corectă a acestora este prima abilitate de dobândit. JavaScenariu.

Declarați variabile în JavaScenariu

Înainte de a utiliza o variabilă, trebuie mai întâi să o declarați. Trebuie să utilizați cuvântul cheie var pentru a declara o variabilă astfel:

var name;

Declarația în sine creează numele și nimic mai mult. În acest moment, variabila există, dar menține valoarea specială nedefinită, deoarece nu i-a fost încă introdusă nicio valoare.

⚠️ Notă privind versiunea: var este cuvântul cheie original din declarație și rulează în continuare în fiecare browser. ES6 (2015) a fost adăugat lăsa și CONST, care sunt cuvintele cheie modern JavaUtilizări ale scriptului. Ambele sunt comparate cu var mai jos pe această pagină.

Atribuiți o valoare variabilei

Puteți atribui o valoare variabilei fie în timp ce declarați variabila, fie după declararea variabilei.

var name = "John";

OR

var name;

name = "John";

Ambele forme se termină cu același rezultat. Semnul egal unic este operator de misiune: copiază valoarea din dreapta sa în variabila din stânga sa. Nu este un test de egalitate, care se scrie == sau === și aparține enunțuri condiționate.

Numirea variabilelor

Deși puteți denumi variabilele cum doriți, este o bună practică de programare să le dați nume descriptive și semnificative. Mai mult, numele variabilelor ar trebui să înceapă cu o literă și să fie sensibile la majuscule/minuscule. Prin urmare, variabilele numestudent și numestudent sunt diferite deoarece litera n din nume este diferită (n și N).

Patru reguli decid dacă un nume este legal:

  1. Primul caracter trebuie să fie o literă, un semn dolar sau o subliniere — niciodată o cifră.
  2. După primul caracter, sunt permise litere, cifre, semne dolar și sublinieri.
  3. Spațiile nu sunt permise, motiv pentru care o idee formată din două cuvinte este unită ca studentName în loc să fie lăsată ca două cuvinte.
  4. Cuvinte rezervate precum var, let, const, class și return nu pot fi reutilizate ca nume.

Prin convenție JavaNumele scripturilor folosesc camelCase, deci primul cuvânt este cu literă mică, iar fiecare cuvânt ulterior începe cu majusculă: firstName, totalPrice, isLoggedIn.

Scriptul de mai jos declară două variabile, le aplică cei cinci operatori aritmetici și scrie fiecare rezultat pe pagină. Încercați singuri acest lucru:

<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 în Modern JavaScenariu

Doar var exista când JavaScriptul a fost scris inițial și are două caracteristici care îi surprind pe începători: poate fi redeclarat silențios și ignoră limitele blocurilor. `let` și `const` au fost adăugate pentru a remedia ambele. Tabelul de mai jos prezintă cele trei cuvinte cheie alăturate.

comportament a fost lăsa CONST
domeniu Întreaga funcție Bloc de închidere Bloc de închidere
Poate fi reatribuit Da Da Nu
Poate fi redeclarat în același domeniu de aplicare Da Nu Nu
Valoare necesară pe linia de declarație Nu Nu Da
Citiți înainte de declararea sa Returnează nedefinit ReferenceError ReferenceError

Un obicei simplu acoperă aproape fiecare caz: întindeți mâna spre CONST mai întâi, treceți la lăsa în momentul în care o valoare trebuie cu adevărat să se schimbe, cum ar fi un contor din interiorul unuia dintre JavaBucle de scriptși păstrați var pentru citirea codului vechi, în loc să scrieți cod nou.

Domeniu de aplicare variabil și ridicare în JavaScenariu

Domeniul de aplicare decide ce părți ale unui script pot vedea o variabilă. O declarație var aparține funcției care o conține, deci este evadată din orice bloc if sau for din interiorul acelei funcții. O declarație let sau const aparține perechii de acolade în care se află și dispare în afara acestora.

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

Primul fișier console.log afișează șirul său de caractere. Al doilea generează o eroare ReferenceError, deoarece narrow nu mai există odată ce blocul if se termină.

Ridicat este a doua jumătate a poveștii. JavaScriptul înregistrează fiecare declarație dintr-un domeniu de aplicare înainte de a rula o singură linie din acel domeniu de aplicare. Un nume variabil este înregistrat și setat la nedefinit, deci citirea sa anticipată este legală, dar inutilă. Un nume let sau const este înregistrat fără o valoare, iar spațiul dintre partea de sus a blocului și linia de declarație se numește zona moartă temporală.

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

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

Prima linie se afișează nedefinit. A treia linie se termină cu „Nu se poate accesa 'b' înainte de inițializare” — eroarea care face ca let să fie mai sigur decât var, deoarece indică greșeala reală în loc să o ascundă.

Erori frecvente la declarare JavaVariabile de script

Cinci mesaje reprezintă cea mai mare parte a ieșirilor consolei pe care începătorii le văd în timp ce învață variabile. Fiecare dintre ele denumește o cauză specifică, așa că remedierea este de obicei o singură linie.

Mesajul consolei Provoca Repara
Eroare de sintaxă: Identificatorul „x” a fost deja declarat let sau const folosit de două ori pentru același nume într-un bloc Reutilizați variabila existentă sau redenumiți-o pe a doua
TypeError: Atribuire la variabila constantă Unei constante i s-a atribuit o nouă valoare Declară-l cu let dacă valoarea trebuie să se modifice
ReferenceError: Nu se poate accesa „x” înainte de inițializare O valoare let sau o constantă a fost citită în interiorul zonei inerte temporale Mută ​​citirea sub linia de declarație
Eroare de referință: x nu este definit Numele nu a fost niciodată declarat sau a fost scris greșit Declară-l sau corectează ortografia și punerea în majuscule/minuscule
nedefinit apare acolo unde era așteptată o valoare Variabila a fost declarată, dar nu a fost niciodată atribuită Atribuiți o valoare înainte de prima citire

Adăugarea opțiunii „use strict” la începutul unui fișier transformă versiunea silențioasă a celui de-al patrulea caz — atribuirea unui nume care nu a fost niciodată declarat — într-o eroare vizibilă, motiv pentru care aceasta trebuie inclusă în fiecare script nou. Aceleași reguli variabile rămân neschimbate în matrice, obiecteși cod pe partea de server scris pentru Node.js.

Întrebări frecvente

Oricare dintre ei. JavaScriptul este tipizat dinamic, deci o variabilă poate conține un număr, apoi un șir de caractere, apoi un obiect. Declarația rezervă un nume, nu un tip. Folosește typeof pentru a verifica ce conține o variabilă în orice moment.

JavaScriptul creează o variabilă globală implicită, pe care alt cod o poate suprascrie accidental. Adăugarea „use strict” la începutul fișierului transformă aceeași linie într-o eroare ReferenceError, astfel încât eroarea apare imediat în loc să se răspândească în tăcere.

„nedefinit” înseamnă că variabila a fost declarată, dar nu i s-a atribuit niciodată o valoare. „null” este o valoare pe care o atribuiți intenționat să însemne „nimic aici”. Ambele sunt false, dar „typeof undefined” returnează „nedefinit”, în timp ce „typeof null” returnează „object”.

Operatorul plus unește textul ori de câte ori oricare dintre părți este un șir de caractere, deci 22 + „3” produce „223”. Convertiți mai întâi cu Number() sau parseInt() atunci când se intenționează efectuarea aritmetică. Subtracțiunea nu are semnificație textuală, deci „3” − 1 returnează corect 2.

Da. const blochează legarea, nu valoarea, deci proprietățile unui obiect const și elementele unui array const se pot modifica în continuare. Reatribuirea variabilei în sine generează o eroare TypeError. Folosește Object.freeze() când conținutul trebuie să rămână fix.

Asistenții inteligenți artificiali încorporați în editorii moderni propun un cuvânt cheie și un nume descriptiv din contextul înconjurător, semnalează o variabilă care ar trebui să fie const și redenumesc fiecare utilizare într-un singur pas. Tratați fiecare sugestie ca pe o schiță și confirmați că domeniul de aplicare este corect.

Adesea, da. Co-pilot citește codul din apropiere și oferă nume care se potrivesc stilului înconjurător, ceea ce ajută la înlocuirea unor caractere substituibile precum x sau temp. RevVezi fiecare nume, pentru că o sugestie fluentă poate descrie totuși lucrul greșit.

console.log() afișează valoarea curentă în consola browserului. Pentru o analiză mai atentă, setați un punct de întrerupere în panoul Surse din DevTools și treceți cu mouse-ul peste nume sau adăugați-l la Lista de urmărire pentru a citi valoarea exact pe acea linie.

Rezumați această postare cu: