𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝗰𝗼𝗽𝗲: 𝗕𝗹𝗼𝗰𝗸, 𝗚𝗹𝗼𝗯𝗮𝗹, ਅਤੇ 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻

Scope ਇਹ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਆਪਣੇ ਕੋਡ ਵਿੱਚ ਵੇਰੀਏਬਲ (variable) ਦੀ ਵਰਤੋਂ ਕਿੱਥੇ ਕਰ ਸਕਦੇ ਹੋ।

  1. Global Scope ਵੇਰੀਏਬਲ ਫੰਕਸ਼ਨਾਂ (functions) ਜਾਂ ਬਲਾਕਾਂ (blocks) ਤੋਂ ਬਾਹਰ ਹੁੰਦੇ ਹਨ। ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਆਪਣੀ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਕਿਤੇ ਵੀ ਐਕਸੈਸ (access) ਕਰ ਸਕਦੇ ਹੋ। ਚੇਤਾਵਨੀ: Global ਵੇਰੀਏਬਲ ਬੱਗਸ (bugs) ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੇ ਹਨ ਕਿਉਂਕਿ ਤੁਹਾਡੇ ਕੋਡ ਦਾ ਕੋਈ ਵੀ ਹਿੱਸਾ ਉਹਨਾਂ ਨੂੰ ਬਦਲ ਸਕਦਾ ਹੈ।

  2. Function Scope ਵੇਰੀਏਬਲ ਇੱਕ ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਹੁੰਦੇ ਹਨ। ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਸਿਰਫ਼ ਉਸ ਖਾਸ ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਹੀ ਐਕਸੈਸ ਕਰ ਸਕਦੇ ਹੋ।

  3. Block Scope ਇਹ let ਜਾਂ const ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਆਧੁਨਿਕ JavaScript 'ਤੇ ਲਾਗੂ ਹੁੰਦਾ ਹੈ। ਵੇਰੀਏਬਲ ਕਰਲੀ ਬਰੇਸ {} ਦੇ ਅੰਦਰ ਹੁੰਦੇ ਹਨ। ਇੱਕ ਬਲਾਕ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:

Scope ਦਾ ਸਾਰ:

Processes ਅਤੇ Threads ਨੂੰ ਸਮਝਣਾ

ਇੱਕ process ਇੱਕ ਚੱਲ ਰਿਹਾ ਪ੍ਰੋਗਰਾਮ ਹੈ ਜਿਸਦੀ ਆਪਣੀ ਮੈਮੋਰੀ ਹੁੰਦੀ ਹੈ। WhatsApp ਨੂੰ ਇੱਕ process ਵਜੋਂ ਸਮਝੋ।

ਇੱਕ thread ਇੱਕ process ਦਾ ਇੱਕ ਛੋਟਾ ਹਿੱਸਾ ਹੁੰਦਾ ਹੈ। Threads ਇੱਕੋ ਮੈਮੋਰੀ ਸਾਂਝੀ ਕਰਦੇ ਹਨ।

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