Was sind Strings? | Programmieren lernen mit JavaScript #3
In diesem Video zeige ich euch, was Strings sind.
Öffnet wieder die Konsole.
Ihr kennt ja sicherlich das Klischee, das Programmierer allesamt mit hier Nullen und
Einsen irgendwelche magischen Dinge vollbringen.
Das stimmt nicht.
Die Sache mit den Nullen und Einsen geht zwar im Inneren des Computers vor sich, aber damit
hat man als Programmierer in der Regel nichts zu tun.
Wenn man programmiert, schreibt man im Grunde Text.
Man schreibt Buchstaben und Wörter und Zeichen, so dass der Computer das verstehen kann.
Es ist eine Sprache, deshalb heißt es auch Programmiersprache.
Wenn ich hier jetzt zum Beispiel Text eingebe, dann versucht der Computer das zu verstehen,
und versteht es auch und führt es daraufhin aus.
Was aber, wenn ich in dem Programm etwas schreiben will, was nicht in dieser Programmiersprache
ist?
Was, wenn ich zum Beispiel irgendwie einfach auf Deutsch Hallo Welt, wie aus dem letzten
Beispiel, schreiben möchte?
Wenn ich da Enter drücke, gibt es eine Fehlermeldung, weil der Computer das nicht versteht.
Wie erkläre ich dem Computer also, dass das, was ich hier schreiben will, einfach ganz
normaler Text ist, den der gar nicht erst versuchen soll, zu verstehen?
Wenn ihr jetzt mitgeschrieben habt, was ich hier eingetippt hab, drückt einfach auf die
Pfeil-nach-oben-Taste, dann bekommt ihr die letzten Dinge, die ihr hier eingegeben und
ausgeführt habt.
Um kenntlich zu machen, dass dieses Hallo Welt nicht in der Sprache ist, die der Computer
verstehen kann, mache ich einfach Anführungszeichen drum herum und dann führe ich es aus und
dann ist es ganz normaler Text.
Was wir hier gemacht haben, ist: Wir haben das zu einem String gemacht!
String heißt auf Deutsch "Kette" oder auch "Zeichenkette", das heißt ein String ist
einfach nur eine Aneinanderreihung, eine Kette von beliebigen Zeichen.
So sieht das ganze aus, ein String kann alle möglichen Wörter und Zeichen enthalten,
wichtig ist halt nur, dass drumherum Anführungszeichen sind - entweder doppelte Anführungszeichen
oder einfache Anführungszeichen, das geht auch.
Das heißt, wenn wir was als String schreiben, dann können wir alle möglichen Sachen schreiben.
Dann können wir ein Euro-Zeichen schreiben, ein Dollar-Zeichen, irgendwelche Zahlen davor,
Umlaute...
Da ist jetzt auch wieder der Fehler gewesen, dass ich das Anführungszeichen am Schluss
vergessen hatte.
Ganz viele Wörter, und was auch immer.
Das sind Strings.
Jetzt gebe ich einmal einen Satz ein: 'Hier gibt's ein Problem!'
Wenn ich hier Enter drücke, wird es eine Fehlermeldung geben.
Wenn ihr jetzt sehr aufgepasst habt, dann seht ihr bereits, was das Problem hier ist,
ansonsten solltet ihr vielleicht einmal kurz das Video pausieren und nochmal nachdenken,
denn ich werde es nun auflösen.
Die Sache ist, wenn ich in die Konsole einen Text eingebe, dann gibt es ein Programm, das
diesen Text liest und versucht zu verstehen.
Und das liest, genau wie wir Menschen, Zeichen für Zeichen.
Das heißt, das beginnt beim ersten Zeichen, sieht: Ah!
Das ist ein Anführungszeichen, also ist das, was jetzt kommt, ein String.
Das H ist ein String, das I, das E, das R, das Leerzeichen, das G, das I, das B, das
T - und da ist noch ein Anführungszeichen, das heißt, das ist das Ende des Strings.
Und nun geht's weiter, ein S, was zur Hölle, was ist das?
Und es stirbt.
Wie kann man das Problem lösen?
Zum einen gibt es ja zwei Möglichkeiten, einen String kenntlich zu machen: Mit einfachen
oder mit doppelten Anführungszeichen, das heißt, wir können die einfachen Anführungszeichen
außen einfach durch doppelte ersetzen.
Das heißt, das Programm, das diesen String abgeht, sucht dann nach dem nächsten doppelten
Anführungszeichen und überspringt dadurch dieses eine einfache Anführungszeichen, das
hier einfach als Apostroph gedacht ist.
Alternativ gibt es auch die Möglichkeit, einen Backslash reinzusetzen.
Jetzt sieht das ganze schon mehr nach Programmcode aus und so kryptisch und nicht mehr einfach
zu verstehen.
Denn Anführungszeichen kann man noch nachvollziehen, aber ein Backslash ist in der normalen Sprache
nicht bekannt, und das steht hier dafür, um dem Programm, das diesen Text Zeichen für
Zeichen liest und versucht zu verstehen, zu sagen, dass es das nächste Zeichen, also
in diesem Fall das Apostroph, also das einfache Anführungszeichen, nicht so verstehen soll,
wie es das eigentlich verstehen würde, wenn dieser Backslash nicht da wäre.
Das war jetzt etwas kompliziert.
Also: Eigentlich würde das Programm hier bei dem einfachen Anführungszeichen bei "gibt's"
denken, dass hier der String zu Ende wäre, wie ich ja eben gerade gezeigt hab, aber durch
den Backslash wird gesagt: Dieses Anführungszeichen soll nicht so verstanden werden, wie du es
eigentlich verstehen würdest, d.h. dieses Anführungszeichen soll nicht als Ende des
Strings verstanden werden.
Es gibt neben Anführungszeichen auch andere spezielle Zeichen, die eine besondere Bedeutung
haben im Programmcode, und mit diesem Backslash kann man all diese Zeichen escapen.
So heißt das ganze nämlich, diese Methode, zu sagen: Ignoriere die Bedeutung dieses Zeichens.
Der Backslash ist dadurch ein sogenannter Escape-Character, ein Escape-Zeichen, oder
zu deutsch richtiger: Ein Maskierungszeichen.
In JavaScript, das ist die Programmiersprache, die wir hier verwenden, ist das der Backslash,
in anderen Programmiersprachen gibt es aber auch andere Maskierungszeichen.
Das heißt, wenn wir hier dieses Problem lösen wollen, dann haben wir jetzt zwei Optionen.
Ich nehme die Option mit dem Backslash und schon ist das Problem gelöst.
Die beste Sache, die euer Computer, euer Rechner kann, ist, vom Namen her, Rechnen!
Wie das funktioniert, zeige ich euch im nächsten Video.
Klickt dazu einfach hier in das angezeigte Feld oder falls ihr dieses Video in einer
Playlist seht, zum Beispiel auf css3-html5.de, bleibt einfach dran.