یہ تین طریقوں سے مختلف ہیں: 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 ہے، اور دوبارہ declare کیا جا سکتا ہے۔ یہ حیرت انگیز leaks کا سبب بنتا ہے — اس سے بچیں۔let block-scoped ہے ({ }), reassignable ہے، اور اپنی declaration line تک temporal dead zone میں رہتا ہے (اس سے پہلے رسائی حاصل کرنے سے خرابی پھینکی جاتی ہے)۔const block-scoped ہے اور دوبارہ assign نہیں کیا جا سکتا — لیکن نوٹ کریں کہ binding constant ہے، قیمت نہیں:const user = { name: "Ann" };
user.name = "Bob"; // ✅ allowed — mutating the object, not reassigning
user = {}; // ❌ TypeError — can't rebind `user`
ڈیفالٹ کے طور پر const استعمال کریں; صرف اسی وقت let پر سوئچ کریں جب آپ کو دوبارہ assign کرنا ہو؛ نئے کوڈ میں کبھی بھی var استعمال نہ کریں۔ یہ نیت کو واضح کرتا ہے ("یہ تبدیل نہیں ہوگا") اور scope leaks اور hoisting confusion سے بچاتا ہے جو var لاتا ہے۔