JavaScriptvariabel: Erklær, tildel en værdi med eksempel

⚡ Smart opsummering

JavaScriptvariabler gemmer værdier såsom navne og tal eller resultatet af et udtryk. Deklarering af en med var, let eller const reserverer et navngivet slot, som resten af ​​scriptet kan læse og opdatere.

  • 🔘 Erklæring: Nøgleordet var, let eller const opretter navnet, før nogen kodelinje læser eller skriver det.
  • ☑️ Opgave: Et enkelt lighedstegn kopierer en værdi ind i variablen, enten på deklarationslinjen eller senere.
  • Navngivning: Navne begynder med et bogstav, et dollartegn eller en understregning, og store og små bogstaver tæller som forskellige.
  • 🧪 Moderne søgeord: const passer til værdier, der aldrig ændrer sig, let passer til værdier, der gør, og var overlever primært i ældre scripts.
  • 🛠️ Anvendelsesområde: lad og const forblive inden for deres omsluttende parenteser, mens var når hele den omgivende funktion.
  • 📌 Almindelige fejl: At gentildele en const, læse en let for tidligt eller udelade nøgleordet forårsager hver især en tydelig fejl.

Erklærer en JavaScriptvariabel og tildeling af en værdi til den

Variabler bruges til at gemme værdier (navn = "John") eller udtryk (sum = x + y). Enhver værdi, et script gemmer til senere – et brugernavn, en løbende total, et ja-eller-nej-flag – findes i en variabel, så det er den første færdighed, man skal tilegne sig at deklarere og navngive dem korrekt. JavaScript.

Deklarer variabler i JavaScript

Før du bruger en variabel, skal du først deklarere den. Du skal bruge nøgleordet var til at deklarere en variabel på denne måde:

var name;

Deklarationen opretter i sig selv navnet og intet mere. På dette tidspunkt eksisterer variablen, men den særlige værdi er udefineret, fordi der endnu ikke er tilføjet nogen værdi.

⚠️ Versionsnotat: var er det originale deklarationsnøgleord og kører stadig i alle browsere. ES6 (2015) tilføjet lad og const, som er nøgleordene moderne JavaScriptanvendelser. Begge sammenlignes med var længere nede på denne side.

Tildel en værdi til variablen

Du kan tildele en værdi til variablen, enten mens du erklærer variablen eller efter at have erklæret variablen.

var name = "John";

OR

var name;

name = "John";

Begge former ender med det samme resultat. Det enkelte lighedstegnet er tildelingsoperatør: den kopierer værdien til højre for den ind i variablen til venstre for den. Det er ikke en test for lighed, som skrives == eller === og hører hjemme i betingede udsagn.

Navngivning af variabler

Selvom du kan navngive variablerne, som du vil, er det god programmeringspraksis at give variablerne beskrivende og meningsfulde navne. Desuden bør variabelnavne starte med et bogstav, og de skelner mellem store og små bogstaver. Derfor er variablerne elevnavn og elevnavn forskellige, fordi bogstavet n i navnet er forskelligt (n og N).

Fire regler afgør, om et navn overhovedet er lovligt:

  1. Det første tegn skal være et bogstav, et dollartegn eller et understregningstegn – aldrig et ciffer.
  2. Efter det første tegn er bogstaver, cifre, dollartegn og understregninger tilladt.
  3. Mellemrum er ikke tilladt, hvilket er grunden til, at en idé på to ord sammenføjes som studentName i stedet for at blive efterladt som to ord.
  4. Reserverede ord som var, let, const, class og return kan ikke genbruges som navne.

Ifølge konvention JavaScriptnavne bruger camelCase, så det første ord er med lille bogstav, og hvert efterfølgende ord starter med stort: ​​firstName, totalPrice, isLoggedIn.

Scriptet nedenfor deklarerer to variabler, anvender de fem aritmetiske operatorer på dem og skriver hvert resultat til siden. Prøv dette selv:

<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 i Modern JavaScript

Kun var eksisterede, når JavaScriptet blev først skrevet, og det har to vaner, der overrasker begyndere: det kan gendeklareres lydløst, og det ignorerer blokgrænser. let og const blev tilføjet for at rette begge. Tabellen nedenfor viser de tre nøgleord side om side.

Adfærd var lad const
Anvendelsesområde Hele funktionen Omsluttende blok Omsluttende blok
Kan omfordeles Ja Ja Ingen
Kan gendeklareres i samme omfang Ja Ingen Ingen
Værdi kræves på deklarationslinjen Ingen Ingen Ja
Læs før dens erklæring Returnerer udefineret Referencefejl Referencefejl

En simpel vane dækker næsten alle tilfælde: række ud efter const først, skift til lad i det øjeblik en værdi virkelig skal ændres, såsom en tæller inde i en af JavaScript-løkker, og behold var til at læse gammel kode i stedet for at skrive ny kode.

Variabelt omfang og hejsning i JavaScript

Scope bestemmer, hvilke dele af et script der kan se en variabel. En var-deklaration tilhører den funktion, der indeholder den, så den undslipper enhver if-blok eller for-blok indeni den funktion. En let- eller const-deklaration tilhører det par parenteser, den sidder i, og forsvinder uden for dem.

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

Den første console.log udskriver sin streng. Den anden kaster en ReferenceError, fordi narrow ikke længere eksisterer, når if-blokken slutter.

hejsning er anden halvdel af historien. JavaScriptet registrerer hver deklaration i et scope, før det kører en enkelt linje i det scope. Et variabelnavn registreres og sættes til udefineret, så det er lovligt, men ubrugeligt at læse det tidligt. Et let- eller const-navn registreres uden en værdi, og mellemrummet mellem toppen af ​​blokken og deklarationslinjen kaldes tidsmæssig død zone.

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

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

Den første linje udskriver udefineret. Den tredje linje stopper med "Kan ikke få adgang til 'b' før initialisering" - fejlen, der gør let mere sikker end var, fordi den peger på den virkelige fejl i stedet for at skjule den.

Almindelige fejl ved deklaration JavaScriptvariabler

Fem beskeder tegner sig for det meste af konsoloutputtet, som begyndere ser, når de lærer variabler. Hver enkelt angiver en specifik årsag, så løsningen er normalt en enkelt linje.

Konsolbesked Årsag Fix
Syntaksfejl: Identifikatoren 'x' er allerede blevet deklareret let eller const brugt to gange for det samme navn i én blok Genbrug den eksisterende variabel, eller omdøb den anden
TypeError: Tildeling til konstant variabel En konstant fik en ny værdi Deklarer det med let, hvis værdien skal ændres
ReferenceError: Kan ikke tilgå 'x' før initialisering En let eller const blev læst inden for den tidsmæssige dødzone Flyt læsningen under deklarationslinjen
Referencefejl: x er ikke defineret Navnet blev aldrig angivet, eller det var stavet forkert Erklær det, eller ret stavningen og brugen af ​​store og små bogstaver
udefineret vises, hvor en værdi var forventet Variablen blev deklareret, men aldrig tildelt Tildel en værdi før den første aflæsning

Hvis du tilføjer "use strict" øverst i en fil, bliver den tavse version af det fjerde tilfælde - der tildeler et navn, der aldrig blev deklareret - til en synlig fejl, hvilket er grunden til, at den hører hjemme i ethvert nyt script. De samme variable regler overføres uændret til arrays, objekterog serversidekode skrevet til node.js.

Ofte Stillede Spørgsmål

Enhver af dem. JavaEt script er dynamisk typebestemt, så én variabel kan indeholde et tal, derefter en streng og derefter et objekt. Deklarationen reserverer et navn, ikke en type. Brug typeof til at kontrollere, hvad en variabel indeholder på et hvilket som helst tidspunkt.

JavaScriptet opretter en implicit global variabel, som anden kode kan overskrive ved et uheld. Tilføjelse af "use strict" øverst i filen ændrer den samme linje til en ReferenceError, så fejlen vises med det samme i stedet for at sprede sig lydløst.

undefined betyder, at variablen blev deklareret, men aldrig givet en værdi. null er en værdi, du bevidst tildeler, så den betyder "intet her". Begge er falske, men typeof undefined returnerer "undefined", mens typeof null returnerer "objekt".

Plusoperatoren forbinder tekst, når en af ​​siderne er en streng, så 22 + "3" giver "223". Konverter først med Number() eller parseInt(), når det er meningen, at der skal bruges aritmetik.traction har ingen tekstbetydning, så “3” − 1 returnerer korrekt 2.

Ja. const låser bindingen, ikke værdien, så egenskaberne for et const-objekt og elementerne i et const-array kan stadig ændres. Gentildeling af selve variablen kaster en TypeError. Brug Object.freeze(), når indholdet skal forblive fast.

AI-assistenter indbygget i moderne editorer foreslår et nøgleord og et beskrivende navn ud fra den omgivende kontekst, markerer en variabel, der skal være const, og omdøber al brug i ét trin. Behandl hvert forslag som et udkast, og bekræft, at omfanget er korrekt.

Ofte, ja. CoPilot læser kode i nærheden og tilbyder navne, der matcher den omgivende stil, hvilket hjælper med at erstatte pladsholdere som x eller temp. RevSe alle navne, fordi et flydende forslag stadig kan beskrive den forkerte ting.

console.log() udskriver den aktuelle værdi til browserkonsollen. For at se nærmere på det, skal du indstille et breakpoint i panelet Kilder i DevTools og holde musen over navnet, eller føje det til overvågningslisten, for at læse værdien på præcis den linje.

Opsummer dette indlæg med: