તેઓ ત્રણ રીતે અલગ છે: scope, hoisting behavior, અને reassignment.
js
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
તેઓ ત્રણ રીતે અલગ છે: scope, hoisting behavior, અને reassignment.
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
var is function-scoped, hoisted અને undefined માં initialize કરવામાં આવે છે, અને તેને redeclare કરી શકાય છે. આ આશ્ચર્યજનક leaks તરફ દોરી જાય છે — તેને避けてください।let is block-scoped ({ }), reassignable છે, અને તેના declaration line સુધી temporal dead zone માં રહે છે (તેને વહેલું access કરવાથી error આવે છે).const is block-scoped અને reassign કરી શકાતું નથી — પરંતુ ધ્યાનમાં લો કે binding સ્થિર છે, value નથી:const user = { name: "Ann" };
user.name = "Bob"; // ✅ allowed — mutating the object, not reassigning
user = {}; // ❌ TypeError — can't rebind `user`
デフォルトで const થી શરૂ કરો; ફક્ત જ્યારે તમે reassign કરવું જોઈએ ત્યારે let માં સ્વિચ કરો; નવા કોડમાં ક્યારેય var નો ઉપયોગ કરશો નહીં. આ intent સ્પષ્ટ કરે છે ("આ બદલાશે નહીં") અને var લાવતા scope leaks અને hoisting મૂંઝવણ ટાળે છે.