𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝗰𝗼𝗽𝗲: 𝗕𝗹𝗼𝗰𝗸, 𝗚𝗹𝗼𝗯𝗮𝗹, 𝗮𝗻𝗱 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻
સ્કોપ નક્કી કરે છે કે તમે તમારા કોડમાં વેરિએબલનો ઉપયોગ ક્યાં કરી શકો છો.
Global Scope વેરિએબલ્સ ફંક્શન અથવા બ્લોકની બહાર હોય છે. તમે તમારા સ્ક્રિપ્ટમાં ગમે ત્યાંથી તેનો ઉપયોગ કરી શકો છો. ચેતવણી: Global variables ને કારણે બગ્સ (bugs) આવી શકે છે કારણ કે તમારા કોડનો કોઈપણ ભાગ તેને બદલી શકે છે.
Function Scope વેરિએબલ્સ ફંક્શનની અંદર હોય છે. તમે ફક્ત તે ચોક્કસ ફંક્શનની અંદર જ તેનો ઉપયોગ કરી શકો છો.
Block Scope આ આધુનિક JavaScript ને લાગુ પડે છે જે
letઅથવાconstનો ઉપયોગ કરે છે. વેરિએબલ્સ કરલી બ્રેસીસ{}ની અંદર હોય છે. એક બ્લોકમાં શામેલ છે:
- if સ્ટેટમેન્ટ્સ
- for લૂપ્સ
- while લૂપ્સ
- સ્વતંત્ર બ્લોક્સ {}
સ્કોપનો સારાંશ:
- Global: દરેક જગ્યાએ એક્સેસ કરી શકાય છે.
- Function: ફક્ત ફંક્શનની અંદર જ એક્સેસ કરી શકાય છે.
- Block: ફક્ત કરલી બ્રેસીસની અંદર જ એક્સેસ કરી શકાય છે.
- var: ફંક્શન સ્કોપનો ઉપયોગ કરે છે. તે બ્લોક સ્કોપને અવગણે છે.
- let અને const: બ્લોક સ્કોપનો ઉપયોગ કરે છે. સારા કોડ માટે આનો ઉપયોગ કરો.
Processes અને Threads ને સમજવું
Process એ પોતાની મેમરી ધરાવતો એક ચાલતો (running) પ્રોગ્રામ છે. 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