ਇਹ ਤਿੰਨ ਤਰੀਕਿਆਂ ਨਾਲ ਵੱਖਰੇ ਹਨ: scope, hoisting behavior, ਅਤੇ reassignment।
js
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
ਇਹ ਤਿੰਨ ਤਰੀਕਿਆਂ ਨਾਲ ਵੱਖਰੇ ਹਨ: scope, hoisting behavior, ਅਤੇ reassignment।
() {
() {
a = ;
b = ;
c = ;
}
.(a);
.(b);
}
var ਹੈ function-scoped, hoisted ਅਤੇ undefined ਤੱਕ initialize ਕੀਤਾ ਹੋਇਆ, ਅਤੇ ਇਸ ਨੂੰ ਮੁੜ-ਘੋਸ਼ਣਾ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਇਹ ਹੈਰਾਨੀਵਾਲੀ leaks ਦਾ ਕਾਰਨ ਬਣਦਾ ਹੈ — ਇਸ ਤੋਂ ਬਚੋ।let ਹੈ block-scoped ({ }), reassignable, ਅਤੇ temporal dead zone ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ ਜਦ ਤੱਕ ਇਸ ਦੀ declaration line (ਇਸ ਨੂੰ ਜਲਦੀ ਵਿੱਚ access ਕਰਨ ਨਾਲ throw ਹੁੰਦਾ ਹੈ)।const ਹੈ block-scoped ਅਤੇ ਮੁੜ-ਅਸਾਈਨ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ — ਪਰ ਧਿਆਨ ਰੱਖੋ ਕਿ binding ਹੈ constant, ਬਨਾਵ ਨਹੀਂ:const user = { name: "Ann" };
user.name = "Bob"; // ✅ allowed — mutating the object, not reassigning
user = {}; // ❌ TypeError — can't rebind `user`
Default ਵਜੋਂ const ਦੀ ਵਰਤੋਂ ਕਰੋ; ਸਿਰਫ਼ ਤਦ let ਵਿੱਚ ਸਵਿਚ ਕਰੋ ਜਦ ਤੁਹਾਨੂੰ reassign ਕਰਨਾ ਪਵੇ; ਨਵੇਂ code ਵਿੱਚ var ਦੀ ਕਦੇ ਵਰਤੋਂ ਨਾ ਕਰੋ। ਇਹ intent ਨੂੰ ਸਪਸ਼ਟ ਕਰਦਾ ਹੈ ("ਇਹ ਨਹੀਂ ਬਦਲੇਗਾ") ਅਤੇ var ਦੁਆਰਾ scope leaks ਅਤੇ hoisting ਦੀ confusion ਨੂੰ ਰੋਕਦਾ ਹੈ।