Ibland behöver vi spara data i program. Det kan vara t ex för att:
- spara en uträknad summa eller något som användaren har matat in.
- göra programmet mer användbart och flexibelt
Exempel:
Om jag vill räkna ut hur mycket pengar som blir kvar av lönen efter skatt och hyra och sedan skriva ut det kan det se ut så här:
console.log(30000*0.68-10000); //skriver ut 10400
Men istället kan jag använda variabler så att jag enkelt kan använda samma uträkning för olika lön, skatt eller hyra:
let lon = 30000; let forandringsfaktor = 0.68; let hyra = 10000; console.log(lon*forandringsfaktor-hyra);
Det blir tydligare och mer flexibelt. När lönen stiger är det enkelt att se var jag ska ändra och om jag vill fråga användaren om vilken lön de har är det också enkelt.
Vad är en variabel?
En variabel är som en slags namngiven behållare där data kan lagras och ändras medans programmet körs.
Variabler skapas med ordet let och ett variabelnamn. Avsluta med semikolon ;
let variabelnamn;
Om man istället vill skapa en konstant (som en variabel men med ett värde som inte ändras) används order const.
const variabelnamn;
Ett variabelnamn kan vara en bokstav eller ett ord. Här är några regler:
- Måste börja med en bokstav , “_” eller “$”. Får innehålla siffror.
- Mellanslag, å, ä eller ö får inte ingå.
- Namnen är skifteslägeskänsliga, dvs variabler med namn som A och a blir olika variabler
Tilldelning
När data ska läggas i en variabel kallas det tilldelning. Det sker alltid åt vänster!
let hyra = 10000;
let a = 10; let b = 8; let c = a + b; b = 2; c = c + b; console.log("Det blir " + c);
Vad skriver programmet ut?
Komplettera koden med en ny rad före sista radens utskrift med:
10 = c;
Vilket felmeddelande får du och varför?
Vanliga frågor
Q: Vad händer om jag glömmer “let” framför variabelnamnet när jag skapar variabeln?
A: Det fungerar oftast ändå, men det blir en sk “global variabel” och risken finns att du skriver över innehållet på fel ställe i din programkod. Det blir färre fel om du följer standarden att använda “let” när du skapar variabeln.
Q: Ska jag inte använda “let” när jag använder variabeln, t ex om jag skriver ut eller gör beräkningar?
A: Nej, det används BARA när variabeln SKAPAS.
Q: Vad händer om jag glömmer semikolon ; efter kodraden?
A: Oftast inget, men det är en god standard att alltid göra semikolon efter kommandon. Om du ska komprimera koden så att flera kommandon hamnar på samma rad får du fel om du inte använt semikolon efter kommandon.
Q: Jag har sett att en del använder “var” istället för “let” när de skapar variabler… Är det rätt?
A: Numera bör du använda “let” istället, vilket gör din variabel lite mer begränsad till att gälla enbart inom det kodblocket. Tidigare användes “var” och det kan man stöta på om man tittar på kod som skrivits för något år sedan.