𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝗰𝗼𝗽𝗲: 𝗕𝗹𝗼𝗰𝗸, 𝗚𝗹𝗼𝗯𝗮𝗹, 𝗮𝗻𝗱 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻
Scope یہ طے کرتا ہے کہ آپ اپنے کوڈ میں کسی variable کو کہاں استعمال کر سکتے ہیں۔
Global Scope Variables فنکشنز یا بلاکس سے باہر ہوتے ہیں۔ آپ انہیں اپنے اسکرپٹ میں کہیں سے بھی استعمال کر سکتے ہیں۔ انتباہ: Global variables کی وجہ سے بگ (bugs) پیدا ہو سکتے ہیں کیونکہ آپ کے کوڈ کا کوئی بھی حصہ انہیں تبدیل کر سکتا ہے۔
Function Scope Variables ایک فنکشن کے اندر ہوتے ہیں۔ آپ انہیں صرف اسی مخصوص فنکشن کے اندر استعمال کر سکتے ہیں۔
Block Scope یہ modern JavaScript پر لاگو ہوتا ہے جہاں
letیاconstکا استعمال کیا جاتا ہے۔ Variables کرلی بریکٹس{}کے اندر ہوتے ہیں۔ ایک بلاک میں شامل ہیں:
ifstatementsforloopswhileloops- علیحدہ بلاکس
{}
Scope کا خلاصہ:
- Global: ہر جگہ دستیاب۔
- Function: صرف فنکشن کے اندر دستیاب۔
- Block: صرف کرلی بریکٹس کے اندر دستیاب۔
var: یہ function scope استعمال کرتا ہے۔ یہ block scope کو نظر انداز کر دیتا ہے۔letاورconst: یہ block scope استعمال کرتے ہیں۔ بہتر کوڈ کے لیے انہیں استعمال کریں۔
Processes اور Threads کو سمجھنا
ایک process ایک چلتا ہوا پروگرام ہے جس کی اپنی میموری ہوتی ہے۔ WhatsApp کو ایک process کے طور پر سوچیں۔
ایک thread ایک process کا چھوٹا حصہ ہوتا ہے۔ Threads ایک ہی میموری شیئر کرتے ہیں۔
- Threads ہلکے (lightweight) ہوتے ہیں۔
- انہیں بنانا تیز ہوتا ہے۔
- یہ آپ کو ایک ہی وقت میں بہت سے کام کرنے کی اجازت دیتے ہیں۔
WhatsApp کی مثال: ایک process (WhatsApp) متعدد threads چلاتا ہے:
- پیغامات وصول کرنا
- تصاویر بھیجنا
- ویڈیوز چلانا
- نوٹیفیکیشنز دکھانا
Source: https://freeacademy.ai/lessons/global-vs-function-vs-block-scope Source: https://josephcardillo.medium.com/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe