𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝗰𝗼𝗽𝗲: 𝗕𝗹𝗼𝗰𝗸, 𝗚𝗹𝗼𝗯𝗮𝗹, 𝗲𝗻 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻
Scope bepaalt waar je een variabele in je code gebruikt.
Global Scope Variabelen bevinden zich buiten functies of blocks. Je hebt er overal in je script toegang toe. Waarschuwing: Globale variabelen leiden tot bugs omdat elk deel van je code ze kan aanpassen.
Function Scope Variabelen bevinden zich binnen een functie. Je hebt er alleen toegang toe binnen die specifieke functie.
Block Scope Dit geldt voor moderne JavaScript waarbij
letofconstwordt gebruikt. Variabelen bevinden zich binnen accolades {}. Een block bevat:
- if-statements
- for-loops
- while-loops
- standalone blocks {}
Samenvatting van Scope:
- Global: Overal toegankelijk.
- Function: Alleen toegankelijk binnen de functie.
- Block: Alleen toegankelijk binnen de accolades.
- var: Gebruikt function scope. Het negeert block scope.
- let en const: Gebruiken block scope. Gebruik deze voor betere code.
Processen en Threads begrijpen
Een proces is een draaiend programma met een eigen geheugen. Denk aan WhatsApp als een proces.
Een thread is een klein onderdeel van een proces. Threads delen hetzelfde geheugen.
- Threads zijn lichtgewicht.
- Ze zijn snel aan te maken.
- Ze stellen je in staat om veel dingen tegelijkertijd te doen.
Voorbeeld van WhatsApp: Eén proces (WhatsApp) voert meerdere threads uit:
- Berichten ontvangen
- Foto's verzenden
- Video's afspelen
- Meldingen tonen
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