De adskiller sig på tre måder: scope, hoisting behavior og reassignment.
js
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
De adskiller sig på tre måder: scope, hoisting behavior og reassignment.
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
var er function-scoped, hoisted og initialiseret til undefined, og kan redeclareres. Dette forårsager overraskende lækager — undgå det.let er block-scoped ({ }), reassignable og lever i temporal dead zone indtil sin deklarationslinje (adgang til det tidligere kaster en fejl).const er block-scoped og kan ikke reassigneres — men bemærk at bindingen er konstant, ikke værdien:const user = { name: "Ann" };
user.name = "Bob"; // ✅ allowed — mutating the object, not reassigning
user = {}; // ❌ TypeError — can't rebind `user`
Standard til const; skift til let kun når du skal reassignere; brug aldrig var i ny kode. Dette gør intentionen klar ("dette vil ikke ændre sig") og undgår scope-lækager og hoisting-forvirring som var medfører.