In JavaScript werden die Strings zum Speichern und Manipulieren von Text verwendet. Es gibt keinen separaten Typ für ein einzelnes Zeichen. Das interne Format der Strings ist immer UTF-16.
Ein String repräsentiert null oder mehr Zeichen, die in Anführungszeichen geschrieben sind.
Über Anführungszeichen
Wir unterscheiden zwischen einfachen Anführungszeichen, doppelten Anführungszeichen und Backticks:
let single = 'single-quoted';
let double = "double-quoted";
let backticks = `backticks`;
Doppelte und einfache Anführungszeichen sind gleich. Trotzdem, Backticks sind anders. Sie können sie verwenden, um einen Ausdruck in den String einzufügen, indem Sie ihn in ${…} einpacken, wie folgt:
Einer der entscheidenden Vorteile von Backticks besteht darin, dass sie es erlauben, einen String über mehrere Zeilen hinweg zu strecken, wie folgt:
Aber beachten Sie, dass einzelne und doppelte Anführungszeichen in diesem Fall nicht funktionieren. Wenn Sie versuchen, sie für mehrere Zeilen anzuwenden, tritt ein Fehler auf:
let guestList = "Guests: // Error: Unexpected token ILLEGAL
* John ";
Einfache und doppelte Anführungszeichen gab es schon vor den Backticks. Daher sind die Backticks funktionsreicher.
Sie können auch eine “Template-Funktion” vor dem ersten Backtick angeben. Die Syntax sieht so aus:
func `string`
In der Regel wird die func Funktion automatisch aufgerufen. Sie empfängt sowohl den String als auch die eingebetteten Ausdrücke und verarbeitet sie. Mit dieser Funktion können Sie schnell benutzerdefinierte Vorlagen implementieren. Dennoch wird sie in der Praxis kaum genutzt.
Sonderzeichen
Sie können mehrzeilige Strings mit doppelten und einfachen Anführungszeichen mit Hilfe von \n erstellen, wie folgt:
Es gibt auch andere, weniger gebräuchliche Sonderzeichen.
Einige davon finden Sie in der folgenden Liste:
- \', \" Diese Sonderzeichen werden für Anführungszeichen verwendet
- \r - Wagenrücklauf. Dieses Zeichen wird heute allein nicht mehr verwendet. Eine Kombination von zwei Zeichen \r\n wird verwendet, um einen Zeilenumbruch in Windows-Textdateien darzustellen.
- \\ - umgekehrter Schrägstrich
- \t - Tabulator
- \xXX - Unicode-Zeichen mit einem bestimmten hexadezimalen Unicode XX
- \uXXXX - dies ist ein Unicode-Symbol mit dem Hex-Code XXXX in UTF-16-Kodierung. Es muss genau 4 Ziffern enthalten.
Hier sind Beispiele mit Unicodes:
Bitte beachten Sie, dass alle Sonderzeichen mit einem Rückstrich beginnen. Dies wird auch als "Escape-Zeichen" bekannt.
Sie können es auch verwenden, wenn Sie ein Anführungszeichen in den String einfügen möchten.
Hier ist ein Beispiel:
Bedenken Sie außerdem, dass der Rückstrich hauptsächlich dazu dient, das Lesen des Strings durch JavaScript zu korrigieren, woraufhin er verschwindet. Im String-Speicher können Sie kein \ finden. Wenn Sie jedoch einen tatsächlichen Rückstrich innerhalb des Strings anzeigen müssen, sollten Sie ihn doppeln, wie in diesem Beispiel:
Die String-Länge
Die Eigenschaft length wird verwendet, um die Länge eines Strings zu ermitteln:
Bedenken Sie, dass \n ein Sonderzeichen ist. Daher sollte die Länge 7 sein.
Manchmal schreiben Entwickler die Eigenschaft falsch, indem sie str.length() anstelle von einfach str.length aufrufen. Das funktioniert nicht.
Auf Zeichen zugreifen
Eckige Klammern[pos] werden hauptsächlich verwendet, um ein Zeichen an der Position [pos] zu erhalten. Sie können dies auch tun, indem Sie die Methode str.charAt(pos) aufrufen. Das allererste Zeichen sollte von null anfangen:
Moderne Entwickler bevorzugen die Verwendung von eckigen Klammern, während die charAt selten verwendet wird
Strings sind unveränderlich
In JavaScript ist es nicht möglich, die Strings zu ändern. Schauen Sie sich dieses Beispiel an, um sicherzustellen, dass es nicht funktioniert:
Die gängige Praxis besteht darin, einen ganz neuen String zu erstellen und ihn anstelle des alten an str zuzuweisen, wie folgt:
Groß- und Kleinschreibung ändern
Es gibt zwei Methoden, um die Groß- und Kleinschreibung zu ändern. Hier sind sie:
In einem anderen Szenario, wenn nur ein einzelnes Zeichen kleingeschrieben werden soll, verwenden Sie diese Methode:
Nach einem Teilstring suchen
Lassen Sie uns die Möglichkeiten entdecken, wie man nach einem Teilstring innerhalb eines Strings sucht.
str.indexOf
Diese Methode wird verwendet, um den substr in str zu suchen. Sie beginnt an einer bestimmten Position pos und gibt diese Position zurück, wenn ein Übereinstimmung gefunden wird, oder -1, wenn nichts gefunden wird.
Schauen wir uns das folgende Beispiel an:
str.lastIndexOf(substr, position)
Diese Methode sucht vom Ende des Strings zum Anfang. Die Vorkommen werden in umgekehrter Reihenfolge aufgelistet.
Bedenken Sie eine leichte Schwierigkeit mit indexOf im if-Test. Es kann nicht auf diese Weise in if eingefügt werden:
Also ist es notwendig, nach -1 zu suchen, wie folgt:
Includes, startsWith, endsWith
Die zeitgemäßere Methode str.includes(substr, pos) gibt dann true/false zurück, ob ein substr in str gefunden wurde.
Verfahren Sie wie im Beispiel, wenn Sie einen Übereinstimmungstest benötigen, ohne gleichzeitig seine Position zu benötigen:
Das zweite Argument von str.includes ist die Position, von der Sie mit der Suche beginnen. Hier ist ein Beispiel:
Einen Teilstring bekommen
JavaScript bietet drei Methoden zum Abrufen eines Teilstrings: substring, substr und slice.
str.slice(start [, end])
Diese Methode wird verwendet, um den Teil des Strings von start bis end zurückzugeben.
Beispiel:
Wenn das zweite Argument fehlt, wird slice bis zum Ende gehen, wie folgt:
Für start/end können Sie auch negative Werte verwenden.
Zum Beispiel:
str.substring(start [, end])
Diese Methode wird verwendet, um den Teil des Strings zwischen dem start und dem end zurückzugeben.
Es sieht sehr nach slice aus. Der bemerkenswerteste Unterschied ist, dass bei dieser Methode der start größer als das end sein kann.
Beispiel:
str.substr(start [, length])
Diese Methode gibt den Teil des Strings aus dem start mit einer bestimmten Länge zurück. Sie unterscheidet sich von den vorherigen Methoden. Diese Methode hilft Ihnen, die length anstelle der Endposition anzugeben.
Beispiel:
Das erste Argument könnte negativ sein, um vom Ende zu zählen:
Vergleich der Strings
Es ist wichtig zu wissen, dass Strings zeichenweise in alphabetischer Reihenfolge verglichen werden.
Sie sollten auch die folgenden Eigenschaften in Betracht ziehen:
- Kleinbuchstaben sind größer als Großbuchstaben, wie folgt:
Comparison in javascript stringsconsole.log('a' > 'Z'); // true
- Buchstaben mit diakritischen Zeichen gelten als "außer der Reihe".
Beispiel:
Betrachten wir nun die interne Darstellung von Strings in JavaScript.
In JavaScript kodieren wir alle Strings mit UTF-16. Das bedeutet, dass jedem Zeichen ein entsprechender numerischer Code zugeordnet ist.
str.codePointAt(pos)
Es wird verwendet, um den Code für das Zeichen an der Position pos zurückzugeben:
String.fromCodePoint(code)
Erzeugt ein Zeichen aus dem numerischen Code:
Unicode-Zeichen können auch durch ihre Codes hinzugefügt werden, indem man \u gefolgt von dem Hex-Code verwendet.
Zum Beispiel:
Lassen Sie uns die Zeichen mit den Codes 65..220 betrachten und einen String aus ihnen erstellen:
Hier können Sie bemerken, dass Großbuchstaben zuerst kommen, dann einige Sonderzeichen und schließlich ein Ö am Ende der Ausgabe.
Quizzeit: Testen Sie Ihre Fähigkeiten!
Sind Sie bereit, das Gelernte herauszufordern? Tauchen Sie ein in unsere interaktiven Quizze für ein tieferes Verständnis und eine unterhaltsame Art, Ihr Wissen zu festigen.