𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝗰𝗼𝗽𝗲: 𝗕𝗹𝗼𝗰𝗸, 𝗚𝗹𝗼𝗯𝗮𝗹, 𝗮𝗻𝗱 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻
మీ కోడ్లో ఒక వేరియబుల్ను ఎక్కడ ఉపయోగించవచ్చో Scope నిర్ణయిస్తుంది.
Global Scope వేరియబుల్స్ ఫంక్షన్లు లేదా బ్లాక్ల వెలుపల ఉంటాయి. మీరు వాటిని మీ స్క్రిప్ట్లో ఎక్కడి నుండైనా యాక్సెస్ చేయవచ్చు. హెచ్చరిక: గ్లోబల్ వేరియబుల్స్ వల్ల బగ్స్ వచ్చే అవకాశం ఉంది, ఎందుకంటే మీ కోడ్లోని ఏ భాగమైనా వాటిని మార్చగలదు.
Function Scope వేరియబుల్స్ ఒక ఫంక్షన్ లోపల ఉంటాయి. మీరు వాటిని ఆ నిర్దిష్ట ఫంక్షన్ లోపల మాత్రమే యాక్సెస్ చేయగలరు.
Block Scope ఇది
letలేదాconstఉపయోగించే ఆధునిక JavaScript కు వర్తిస్తుంది. వేరియబుల్స్ కర్లీ బ్రేసెస్{}లోపల ఉంటాయి. ఒక బ్లాక్లో ఇవి ఉంటాయి:
- if స్టేట్మెంట్లు
- for లూప్లు
- while లూప్లు
- స్వతంత్ర బ్లాక్లు {}
Scope సారాంశం:
- Global: ఎక్కడి నుండైనా యాక్సెస్ చేయవచ్చు.
- Function: ఫంక్షన్ లోపల మాత్రమే యాక్సెస్ చేయవచ్చు.
- Block: కర్లీ బ్రేసెస్ లోపల మాత్రమే యాక్సెస్ చేయవచ్చు.
- var: ఇది ఫంక్షన్ స్కోప్ను ఉపయోగిస్తుంది. ఇది బ్లాక్ స్కోప్ను పట్టించుకోదు.
- let మరియు const: ఇవి బ్లాక్ స్కోప్ను ఉపయోగిస్తాయి. మెరుగైన కోడ్ కోసం వీటిని ఉపయోగించండి.
Processes మరియు Threads గురించి అవగాహన
ప్రాసెస్ (Process) అనేది దాని స్వంత మెమరీతో నడుస్తున్న ఒక ప్రోగ్రామ్. WhatsAppను ఒక ప్రాసెస్గా భావించండి.
త్రెడ్ (Thread) అనేది ఒక ప్రాసెస్ యొక్క చిన్న భాగం. త్రెడ్స్ ఒకే మెమరీని పంచుకుంటాయి.
- త్రెడ్స్ తేలికపాటివి (lightweight).
- వీటిని వేగంగా సృష్టించవచ్చు.
- ఇవి మీరు ఒకేసారి అనేక పనులు చేయడానికి అనుమతిస్తాయి.
WhatsApp ఉదాహరణ: ఒక ప్రాసెస్ (WhatsApp) బహుళ త్రెడ్స్ను నడుపుతుంది:
- మెసేజ్లను స్వీకరించడం
- ఫోటోలను పంపడం
- వీడియోలను ప్లే చేయడం
- నోటిఫికేషన్లను చూపించడం
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