𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝗰𝗼𝗽𝗲: 𝗕𝗹𝗼𝗰𝗸, 𝗚𝗹𝗼𝗯𝗮𝗹, மற்றும் 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻
Scope என்பது உங்கள் குறியீட்டில் (code) ஒரு மாறியை (variable) எங்கு பயன்படுத்தலாம் என்பதைத் தீர்மானிக்கிறது.
Global Scope மாறிகள் functions அல்லது blocks-க்கு வெளியே இருக்கும். உங்கள் ஸ்கிரிப்ட்டில் எங்கிருந்தும் அவற்றை நீங்கள் அணுகலாம். எச்சரிக்கை: Global மாறிகள் பிழைகளுக்கு (bugs) வழிவகுக்கும், ஏனெனில் உங்கள் குறியீட்டின் எந்தப் பகுதியும் அவற்றை மாற்ற முடியும்.
Function Scope மாறிகள் ஒரு function-க்குள் இருக்கும். அந்த குறிப்பிட்ட function-க்குள் மட்டுமே அவற்றை நீங்கள் அணுக முடியும்.
Block Scope இது let அல்லது const பயன்படுத்தும் நவீன JavaScript-க்கு பொருந்தும். மாறிகள் curly braces {} உள்ளே இருக்கும். ஒரு block-ல் பின்வருவன அடங்கும்:
- if statements
- for loops
- while loops
- தனித்த blocks {}
Scope-ன் சுருக்கம்:
- Global: எல்லா இடங்களிலும் அணுக முடியும்.
- Function: function-க்குள் மட்டுமே அணுக முடியும்.
- Block: curly braces உள்ளே மட்டுமே அணுக முடியும்.
- var: function scope-ஐப் பயன்படுத்துகிறது. இது block scope-ஐப் புறக்கணிக்கும்.
- let மற்றும் const: block scope-ஐப் பயன்படுத்துகின்றன. சிறந்த குறியீட்டிற்கு இவற்றைத் பயன்படுத்தவும்.
Processes மற்றும் Threads-களைப் புரிந்துகொள்ளுதல்
ஒரு process என்பது அதன் சொந்த நினைவகத்துடன் (memory) இயங்கும் ஒரு நிரலாகும் (program). WhatsApp-ஐ ஒரு process என்று நினைத்துக் கொள்ளுங்கள்.
ஒரு thread என்பது ஒரு process-ன் சிறிய பகுதியாகும். Threads ஒரே நினைவகத்தைப் பகிர்ந்து கொள்கின்றன.
- Threads இலகுவானவை (lightweight).
- அவை விரைவாக உருவாக்கப்படக்கூடியவை.
- அவை ஒரே நேரத்தில் பல விஷயங்களைச் செய்ய அனுமதிக்கின்றன.
WhatsApp-ன் உதாரணம்: ஒரு process (WhatsApp) பல threads-களை இயக்குகிறது:
- செய்திகளைப் பெறுதல்
- புகைப்படங்களை அனுப்புதல்
- வீடியோக்களை இயக்குதல்
- அறிவிப்புகளைக் (notifications) காட்டுதல்
மூலம்: https://freeacademy.ai/lessons/global-vs-function-vs-block-scope மூலம்: https://josephcardillo.medium.com/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe