𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀, 𝗧𝗵𝗿𝗲𝗮𝗱𝘀, 𝗮𝗻𝗱 𝗘𝘅𝗲𝗰𝘂𝘁𝗶𝗼𝗻
JavaScript ના પાયાના સિદ્ધાંતો સમજવાથી તમને વધુ સારો કોડ લખવામાં મદદ મળે છે. અહીં ફંક્શન્સ, પ્રોસેસિસ, થ્રેડ્સ અને એક્ઝિક્યુશન શૈલીઓની વિગતવાર સમજૂતી છે.
𝟱 𝗧𝘆𝗽𝗲𝘀 𝗼𝗳 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀
- Named Function: એક ચોક્કસ નામ ધરાવતું ફંક્શન. તે ડિબગિંગ અને ફરીથી ઉપયોગ કરવામાં મદદ કરે છે.
- Anonymous Function: નામ વગરનું ફંક્શન. તમે ઘણીવાર તેનો ઉપયોગ કોલબેક (callbacks) તરીકે કરો છો.
- Function Expression: તમે એક વેરિયેબલને ફંક્શન અસાઇન કરો છો. તમે તે વેરિયેબલના નામનો ઉપયોગ કરીને તેને કોલ કરો છો.
- Arrow Function: => સિમ્બોલનો ઉપયોગ કરીને લખાયેલું ટૂંકું સિન્ટેક્સ. તે 'this' ને અલગ રીતે હેન્ડલ કરે છે.
- IIFE: જેવું તમે તેને વ્યાખ્યાયિત (define) કરો કે તરત જ ચાલતું ફંક્શન. તે પ્રાઇવેટ સ્કોપ બનાવે છે.
𝗣𝗿𝗼𝗰𝗲𝘀𝘀 𝘃𝘀. 𝗧𝗵𝗿𝗲𝗮𝗱
A Process એ તમારા કમ્પ્યુટર પર ચાલતો એક પ્રોગ્રામ છે.
- તેની પોતાની મેમરી હોય છે.
- તેની પાસે PID તરીકે ઓળખાતી એક યુનિક ID હોય છે.
- જો એક પ્રોસેસ ક્રેશ થાય, તો અન્ય ચાલુ રહે છે.
- ઉદાહરણ: Chrome અને Spotify અલગ-અલગ પ્રોસેસ છે.
A Thread એ પ્રોસેસની અંદરનો એક નાનો યુનિટ છે.
- થ્રેડ્સ પ્રોસેસની અંદર સમાન મેમરી શેર કરે છે.
- તેઓ પ્રોગ્રામને એકસાથે ઘણી બધી વસ્તુઓ કરવાની મંજૂરી આપે છે.
- ઉદાહરણ: Chrome અવાજ વગાડતી વખતે પેજ રેન્ડર કરવા માટે મલ્ટિપલ થ્રેડ્સનો ઉપયોગ કરે છે.
𝗦𝘆𝗻𝗰𝗵𝗿𝗼𝗻𝗼𝘂𝘀 𝘃𝘀. 𝗔𝘀𝘆𝗻𝗰𝗵𝗿𝗼𝗻𝗼𝘂𝘀
JavaScript સિંગલ-થ્રેડેડ છે. આનો અર્થ એ છે કે તે એક સમયે એક જ કાર્ય હેન્ડલ કરે છે.
Synchronous Execution:
- કાર્યો એક પછી એક ચાલે છે.
- દરેક લાઇન અગાઉની લાઇન પૂર્ણ થાય તેની રાહ જુએ છે.
- એક ધીમું કાર્ય અન્ય બધું ચાલતું અટકાવી શકે છે.
Asynchronous Execution:
- કાર્યો અત્યારે શરૂ થઈ શકે છે અને પછીથી પૂર્ણ થઈ શકે છે.
- તે તમારા બાકીના કોડને બ્લોક કરતું નથી.
- આ Event Loop દ્વારા કામ કરે છે.
- બ્રાઉઝર બેકગ્રાઉન્ડમાં ટાઈમર અથવા ડેટા ફેચિંગ જેવા કાર્યો હેન્ડલ કરવા માટે Web APIs નો ઉપયોગ કરે છે.
- એકવાર બેકગ્રાઉન્ડ કાર્ય પૂર્ણ થઈ જાય પછી, Event Loop તેને ચલાવવા માટે ફરીથી સ્ટેક (stack) માં પુશ કરે છે.