JavaScript
Variabler i JavaScript
En variabel er et navn, du sætter på en værdi, så du kan bruge den igen senere. Du opretter den med let eller const, giver den et navn og en værdi, og bagefter kan du skrive navnet i stedet for værdien. Computeren husker den, indtil programmet er færdigt.
Hvorfor man overhovedet gemmer noget i en variabel
Et program regner ikke bare én ting ud og stopper. Det regner noget ud, husker resultatet, bruger det til noget andet, og bliver ved. For at kunne huske resultatet skal det have et navn at putte det under. Det navn er variablen.
Tænk på det som en kasse med et mærkat på. Mærkatet er navnet, indholdet er værdien. Du kan kigge i kassen ved at skrive navnet, og du kan lægge noget nyt i den ved at skrive navnet og et lighedstegn.
let alder = 21;
console.log(alder);
alder = 22;
console.log(alder); Output
Tryk på “Kør koden”.
Første linje opretter variablen og lægger tallet 21 i den. console.log skriver
indholdet ud, så du kan se det. Den fjerde linje lægger noget nyt i den samme
kasse. Bemærk at der ikke står let foran igen. let skriver man kun den ene
gang, hvor variablen bliver til.
De tre ord: let, const og var
Der er tre måder at oprette en variabel på i JavaScript, og du skal i praksis kun bruge de to.
constbruger du, når værdien ikke skal skiftes ud bagefter. Det er langt de fleste tilfælde. Prøver du alligevel, får du en fejl med det samme. Hvilket er en fordel, ikke en begrænsning.letbruger du, når værdien skal ændre sig undervejs. En tæller i en løkke, for eksempel.varer den gamle måde. Du vil se den i ældre eksempler på nettet. Brug den ikke selv; den opfører sig anderledes end de to andre på måder, der giver mærkelige fejl.
En brugbar tommelfingerregel: skriv const, indtil du opdager, at du er nødt til
at ændre værdien. Så laver du den om til let.
const navn = "Ida";
let point = 0;
point = point + 10;
console.log(navn + " har " + point + " point"); Output
Tryk på “Kør koden”.
Navne der ikke koster dig tid senere
JavaScript er ligeglad med, hvad du kalder dine variabler, så længe navnet starter med et bogstav og ikke indeholder mellemrum. Din læsevenlighed er ikke ligeglad. To vaner er værd at tage med fra starten:
- Skriv, hvad det er, ikke hvad typen er.
antalStuderendeer bedre endtal2. Om tre uger husker du ikke, hvadtal2var. - Brug stort begyndelsesbogstav midt i ordet.
antalStuderende, ikkeantalstuderende. Det hedder camelCase, og det er den konvention, alle JavaScript-eksempler i verden bruger. Til eksamen læser en anden din kode.
Store og små bogstaver er to forskellige ting for JavaScript: Navn og navn er
ikke den samme variabel. Det er en overraskende almindelig kilde til den fejl,
hvor alting ser rigtigt ud, men værdien er undefined.
Variabler, du ikke har oprettet
Skriver du et navn, der aldrig er blevet oprettet, får du
ReferenceError: x is not defined. Det er som regel en stavefejl. Skriver du
derimod en variabel, du har oprettet uden at give den en værdi, får du
undefined, ikke en fejl, bare ingenting.
let resultat;
console.log(resultat);
resultat = 42;
console.log(resultat); Output
Tryk på “Kør koden”.
Forskellen er værd at kende, for undefined er den værdi, du kommer til at se
allermest, når noget ikke virker. Den betyder næsten altid: “der skulle have
været lagt noget i den her kasse, og det blev der ikke.”
Kort opsamling
- En variabel er et navn på en værdi.
- Opret den med
const, medmindre den skal ændres, sålet. - Navngiv efter, hvad værdien betyder.
- Store og små bogstaver er forskellige.
- Uoprettet variabel giver
ReferenceError; oprettet uden værdi giverundefined.
Øv dig
Læs videre
- Datatyper i JavaScript Datatyper i JavaScript forklaret på dansk: number, string, boolean, undefined og null, og hvorfor 5 + "5" bliver til 55 i stedet for 10.
- let og const Forskellen på let og const i JavaScript, forklaret på dansk med eksempler. Hvornår du bruger hvad, og hvorfor const stadig kan ændres indeni.
- Funktioner i JavaScript Funktioner i JavaScript forklaret på dansk: parametre, return og kald. Med eksempler du kan køre, og forklaringen på hvorfor din funktion giver undefined.
Senest gennemgået .