Hur spara data?

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:

var lon = 30000;
var forandringsfaktor = 0.68;
var 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 var och ett variabelnamn. Avsluta med semikolon ;

var 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!

var hyra = 10000;

Skriv in följande program:

var a = 10;
var b = 8;
var 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 ”var” 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 ”var” när du skapar variabeln.

Q: Ska jag inte använda ”var” 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 ”let” istället för ”var” när de skapar variabler… Är det rätt?
A: Numera kan du ofta använda ”let” istället, vilket gör din variabel lite mer begränsad till att gälla enbart inom det kodblocket. Om du är osäker på vad som menas är det säkrare att använda ”var”.

Lär dig mer

Pink Programming om variabler
Ludu om Variabler