Att deklarera och initiera variabler i JavaScript kan verka enkelt, men det finns några viktiga saker att tänka på för att undvika buggar och förvirring. Här är en genomgång:
let, const eller varlet{ ... })let count = 1;
count = 2; // OK
constconst name = "Anna";
// name = "Eva"; ❌ fel
const user = { id: 1, name: "Anna" };
user.name = "Eva"; // ✅ tillåtet
var (gammal, undvik oftast)undefined tills det sätts)console.log(a); // undefined, ingen error
var a = 5;
👉 Rekommendation idag:
const som standardlet när värdet ska ändrasvar (för gammalt och riskabelt)Det är bra praxis att initiera variabler när du deklarerar dem, annars får de värdet undefined.
let x; // undefined
let y = 10; // initierad
let och const är blockscope (bra, säkert).var är function scope och kan "läcka ut".if (true) {
let a = 1;
const b = 2;
var c = 3;
}
console.log(c); // ✅ funkar
console.log(a); // ❌ error (a is not defined)
var blir hoistat till toppen, men får värdet undefined.let och const blir också hoistade, men ligger i en Temporal Dead Zone (TDZ) tills de når deklarationen → du kan inte använda dem innan.console.log(x); // ❌ error
let x = 5;
console.log(y); // undefined
var y = 5;
JavaScript är dynamiskt typat → en variabel kan byta typ när som helst. Det kan vara praktiskt men också orsaka buggar.
let value = 10;
value = "tio"; // ✅ tillåtet
👉 Tänk på att detta kan skapa förvirring. I större projekt används ofta TypeScript för att få statiska typer.
userName, totalAmount)count, inte c)let let = 5; ❌)✅ Sammanfattning – att tänka på när du deklarerar/initierar:
const som standard, let om värdet ska ändras.var.