𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝗰𝗼𝗽𝗲: 𝗕𝗹𝗼𝗰𝗸, 𝗚𝗹𝗼𝗯𝗮𝗹 𝘂𝗻𝗱 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻
Der Scope bestimmt, wo du eine Variable in deinem Code verwenden kannst.
Global Scope Variablen existieren außerhalb von Funktionen oder Blöcken. Du kannst von überall in deinem Skript auf sie zugreifen. Warnung: Globale Variablen führen zu Fehlern (Bugs), da jeder Teil deines Codes sie ändern kann.
Function Scope Variablen existieren innerhalb einer Funktion. Du kannst nur innerhalb dieser spezifischen Funktion auf sie zugreifen.
Block Scope Dies gilt für modernes JavaScript unter Verwendung von
letoderconst. Variablen existieren innerhalb von geschweiften Klammern {}. Ein Block umfasst:
- if-Anweisungen
- for-Schleifen
- while-Schleifen
- eigenständige Blöcke {}
Zusammenfassung des Scopes:
- Global: Überall zugänglich.
- Function: Nur innerhalb der Funktion zugänglich.
- Block: Nur innerhalb der geschweiften Klammern zugänglich.
- var: Verwendet den Funktions-Scope. Er ignoriert den Block-Scope.
- let und const: Verwenden den Block-Scope. Nutze diese für besseren Code.
Prozesse und Threads verstehen
Ein Prozess ist ein laufendes Programm mit eigenem Speicher. Stell dir WhatsApp als einen Prozess vor.
Ein Thread ist ein kleiner Teil eines Prozesses. Threads teilen sich denselben Speicher.
- Threads sind leichtgewichtig.
- Sie sind schnell erstellt.
- Sie ermöglichen es, viele Dinge gleichzeitig zu tun.
Beispiel WhatsApp: Ein Prozess (WhatsApp) führt mehrere Threads aus:
- Nachrichten empfangen
- Fotos senden
- Videos abspielen
- Benachrichtigungen anzeigen
Quelle: https://freeacademy.ai/lessons/global-vs-function-vs-block-scope Quelle: https://josephcardillo.medium.com/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe