Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Grundlagen der Programmierung: Basiswissen

Datentyp definieren

Testen Sie unsere 2013 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
In vielen Programmiersprachen muss bereits beim Anlegen von Variablen die Art der zu speichernden Daten definiert werden. Dies ist jedoch in JavaScript nicht erforderlich.

Transkript

In vielen Programmiersprachen erzeugen Sie nicht einfach nur Variablen und geben ihnen einen Namen. Sie müssen gleichzeitig auch angeben, welche Art von Daten Sie dort speichern möchten. Sie müssen ganz am Anfang schon festlegen, ob Sie später ein Integer, also eine Ganzzahl ohne Nachkommastellen, oder eine Fließkommazahl mit diesen Stellen erzeugen wollen. Sie müssen festlegen, ob es Buchstaben werden sollen und manchmal sogar, wie viele davon maximal. Außerdem gibt es sogenannte "Boolesche Werte". Das sind Werte, die nur zwei Zustände annehmen können, "ja" oder "nein", "true" oder "false". Sie müssen ganz zu Beginn festlegen, welchen Typ Sie haben wollen. Und wenn Sie die Variable mal erzeugt haben, dürfen Sie ihren Typ nicht mehr ändern. Das nennt man eine stark typisierte Sprache oder eine streng typisierte Sprache. Sie können so viele Variablen erzeugen, wie Sie wollen, aber jede Variable darf nur genau einen einzigen Typ haben. Und wenn Sie versuchen, einen falschen Wert in einer Variablen zu speichern, dann kann Ihr Programm abstürzen. Aber Sie haben Glück: In JavaScript müssen wir uns darum nicht kümmern. JavaScript ist eine schwach typisierte Sprache. Das bedeutet, in dem Moment, in dem ich eine Variable anlege, muss ich mich noch gar nicht entscheiden, welche Arten von Werten ich darin speichern möchte. Ich sage zunächst einmal nur: var, eine Variable. Und JavaScript stellt dann für mich einen Container bereit, benennt diesen Container, aber ihm ist es relativ egal, welche Arten ich da später speichere. Und wenn ich das noch nicht definiert habe, was da rein kommt, dann wird zunächst einmal der Variablen-Wert "Undefined" gesetzt, also die Variable hat noch keinen definierten Wert. Und ich kann dann im Laufe meines Scriptes bspw. sagen: Ich möchte in dieser Variablen eine Zahl speichern, eine Integer-Zahl, also eine Ganzzahl, in dem Fall z.B. 200. Und dann kann ich mit dieser Variablen rechnen. Ich kann sie multiplizieren, ich kann sie halbieren, ich was hinzurechnen usw. Alles gar kein Problem. Das ist dann eine Variable vom Typ "Integer", vom Typ "Ganzzahl", wie man auch dazu sagt. Jetzt kann ich im Laufe meines Scriptes z.B. sagen: Ich möchte damit nicht rechnen, da soll keine Zahl drin sein, sondern ich möchte eine Abfolge von Buchstaben speichern, einen sogenannten "String", "Hallo" z.B. Und diesen String muss ich dann mit Anführungszeichen beginnen und mit Anführungszeichen auch wieder beenden. Und zwischen diesen Anführungszeichen kann ich Buchstaben schreiben, ich kann deutsche Umlaute schreiben, ich kann Leerzeichen schreiben. Ich kann sogar auch diese Zahl 200 hineinschreiben. Aber diese Variable hat dann keinen Integer-Wert, keinen Ganzzahl-Wert mehr, mit dem ich rechnen kann, sondern ich kann ihn lediglich anzeigen. D.h., auch wenn in Anführungszeichen hier eine 200 steht, dann kann ich damit nicht rechnen, aber ich kann es anzeigen. Diese Anführungszeichen müssen gar keine doppelten Anführungszeichen sein, es können auch einfache Anführungszeichen sein. Was ich nicht machen darf, ist, das Eine mit dem Anderen kombinieren. Ich darf nicht mit einfachen Anführungszeichen beginnen und mit doppelten Anführungszeichen enden. Wenn ich mich einmal entschieden habe, die einfachen oder die doppelten zu nehmen, muss ich auch dabei bleiben. Es gibt noch andere Arten von Variablen. Z.B. Variablen, die ausschließlich zwei Werte annehmen können, z.B. "ja" oder "nein", "oben" oder "unten", "schwarz" oder "weiß", "0" oder "1", "wahr" oder "falsch". Dieses "wahr" oder "falsch", sind die entsprechenden Schlüsselbegriffe, die heißen auf Englisch "true" oder "false". Und diese Art von Variablenwert, die nennt man "Boolesche Variablen", weil sie eben nur zwei Zustände kennen, "true" oder eben "false". Und obwohl das auch Ansammlungen von Buchstaben sind, brauche ich in diesem speziellen Fall keine Anführungszeichen. Es sind sogenannte Schlüsselwörter, und in den meisten Fällen wird ein Editor dieses Schlüsselwort auch farblich hervorheben. Diese Schlüsselwörter sind in JavaScript fest eingebaut und JavaScript erkennt sie automatisch. Und ich kann dann z.B. fragen: Ist ein Benutzer angemeldet? Ja oder nein? Und kann dann fragen: Wenn diese Variable den Wert "true" hat, dann zeige z.B. etwas Besonderes an. Wenn diese Variable den Wert "false" hat, dann zeige das eben entsprechend nicht an. Sie werden sich jetzt fragen, warum denn überhaupt noch stark typisierte Sprachen im Umlauf sind, wenn diese schwache Typisierung so unglaublich komfortabel für den Programmierer oder die Programmiererin ist. Nun, zum Einen hat das geschichtliche Gründe. Früher ist es relativ aufwendig gewesen, so eine schwache Typisierung umzusetzen. Die Computer waren nicht so leistungsfähig. Die Programmiersprachen waren auch noch nicht so fortentwickelt. Da hat man einfach diese Arbeit dem Programmierer noch nicht abnehmen können. Moderne Sprachen können das mittlerweile. Aber es gibt andere Nachteile, die ich mir mit dieser Bequemlichkeit einkaufe. Stellen Sie sich vor, Sie haben eine Variable, die heißt "Highscore". Und in diesem "Highscore" darf eigentlich nur eine Zahl drin sein. Und in stark typisierten Sprachen kann ich sicher sein, wenn ich die Variable anlege und sage: In der Variablen "Highscore" sollen ausschließlich ganze Zahlen enthalten sein, dann kann ich später mit hundertprozentiger Sicherheit davon ausgehen, dass da keine Buchstaben oder sonst irgendetwas anderes drin ist. Das ist wichtig, denn wenn ich mit dieser Variablen weiterrechnen möchte, wenn ich den "Highscore" z.B. verdoppeln möchte, dann kann ich das natürlich nur dann machen, wenn sich tatsächlich eine Zahl da drin befindet. Wenn aber aufgrund eines Programmierfehlers oder aufgrund eines Hacker-Angriffs in dieser Variablen plötzlich keine Zahl mehr ist, sondern eine Abfolge von Buchstaben, und ich möchte damit rechnen, dann kann das zu gelinde gesagt unerwartetem Verhalten führen, bis hin dazu, dass mein Programm abstürzt und gar nichts mehr geht. Und das ist natürlich ein Vorteil von stark typisierten Sprachen, dass ich mich darauf verlassen kann, wenn hier "Zahl" draufsteht, dass auch eine Zahl drin ist. JavaScript ist das egal. Das kann ich im Laufe der Programmierung auch verändern. Das hat viele Vorteile, aber man muss eben unter Umständen auch schauen, ob die Variable, die ich vor mir liegen habe, auch tatsächlich das beinhaltet, was sie vorgibt zu beinhalten.

Grundlagen der Programmierung: Basiswissen

Steigen Sie ein in die Welt der Computerprogrammierung und verschaffen Sie sich das Grundwissen, um schon bald eigene Lösungen und Anwendungen zu schreiben.

5 Std. 38 min (64 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!