Aus dem Kurs: Grundlagen der Programmierung: Basiswissen

Geltungsbereich von Variablen

Aus dem Kurs: Grundlagen der Programmierung: Basiswissen

Geltungsbereich von Variablen

Mit Funktionen können Sie Code bündeln, mit unterschiedlichen Parametern, man sagt noch Argumente dazu, immer wieder aufrufen. Das ist der Sinn von Funktionen. Sie helfen uns also bei großen, komplexen Computerprogrammen, den Code modular aufzubauen und den Überblick zu behalten. Und dieses Bündeln, dieses Abkapseln, das bezieht sich nicht nur auf die Programmlogik, sondern auch auf die Werte von Variablen. Schauen wir uns mal dieses Beispiel hier an. Was macht denn dieses Programm hier eigentlich? In Zeile 1 wird eine Variable definiert. Die heißt user und hat den Wert Tom. Dann definieren wir eine Funktion in den Zeilen 2 bis 4. Die Funktion heißt getUserInfo und bekommt einen Parameter auch mit dem Namen user. Die Funktion wird zwar definiert, aber es passiert noch nichts. Die Funktion wird nämlich noch nicht aufgerufen. Zeile 5, dann console.log(user). Was steht dann auf dem Bildschirm? Tom oder Paula? Sie können es ausprobieren. Pausieren Sie das Video und machen Sie einen Test. Es steht dann da Tom. Die Funktion wurde ja noch nicht mal aufgerufen, also hat das mit Paula noch gar nichts zu tun. Das Aufrufen der Funktion passiert erst in Zeile 6. Der Computer ruft also die Funktion auf und führt das console.log aus der Zeile 3 innerhalb der Funktion aus. Und das gibt für user aber Paula aus. Die Funktion ist zu Ende, und das Programm wird nun bei Zeile 7 weitergeführt. Und jetzt ist die Preisfrage. Steht in user nun Tom oder Paula? Es steht Achtung, Trommelwirbel, weiterhin Tom drin. Dass wir auch innerhalb der Funktion eine Variable, namens user haben und deren Wert auf Paula gesetzt wurde, ändert nichts an der Variablen außerhalb der Funktion. Variablen haben einen sogenannten Geltungsbereich, der heißt auf Englisch scope, und der bezieht sich, wenn Sie innerhalb einer Funktion auftreten, nur auf diese Funktion. Eine Variable, die innerhalb einer Funktion definiert ist, existiert auch nur innerhalb dieser Funktion. Das ist so ein bisschen wie bei diesem einen Hollywood-Film, indem es heißt: "What happens in Vegas, stays in Vegas." Dieses Verhalten mit dem eingeschränkten Geltungsbereich von Variablen ist auch ganz sinnvoll, denn so behalten Sie leichter den Überblick und kommen sich nicht ständig selbst in die Quere. Funktionen sind hier zum Kapseln da. Also kapseln Sie auch sinnvollerweise neben der Programmlogik auch den Wert von Variablen. Das darf man im Programmieralltag nicht vergessen, sonst wachsen einem manchmal graue Haare.

Inhalt