Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 41
3.3.1String-Literale
ОглавлениеUm eine Zeichenkette in ein JavaScript-Programm einzufügen, umgeben Sie die Zeichen der Zeichenkette einfach mit einem Paar einfacher oder doppelter Anführungszeichen oder Backticks (' oder " oder `) ein. Doppelte Anführungszeichen und Backticks können in Strings enthalten sein, die durch einfache Anführungszeichen begrenzt werden. Das gilt analog auch für Strings, die durch doppelte Anführungszeichen oder Backticks begrenzt sind. Hier einige Beispiele für String-Literale:
"" // Der leere String: Er enthält keine Zeichen.
'Testen'
"3.14"
'name="mein_formular"'
"Würden Sie das Buch von O'Reilly nicht vorziehen?"
"π ist das Verhältnis des Umfangs eines Kreises zu seinem Radius"
`"Sie hat 'hi' gesagt", sagte er.`
Durch Backticks begrenzte Strings sind ein Feature von ES6 und erlauben die Einbettung von JavaScript-Ausdrücken in String-Literale. Die Syntax für eine solche Interpolation von Ausdrücken wird in 3.3.4 behandelt.
In frühen Versionen von JavaScript mussten String-Literale in eine einzige Zeile geschrieben werden, und es ist nicht ungewöhnlich, auf JavaScript-Code zu stoßen, der lange Zeichenketten erzeugt, in denen einzeilige Strings mit dem +-Operator verkettet werden. Seit ES5 können Sie jedoch ein String-Literal auf mehrere Zeilen verteilen, indem Sie jede Zeile mit Ausnahme der letzten mit einem Backslash (\) beenden. Weder der Backslash noch das darauffolgende Zeilenendezeichen sind Teil des String-Literals. Falls Sie ein Newline-Zeichen in ein String-Literal einfügen müssen, das in einfachen oder doppelten Anführungszeichen steht, verwenden Sie die Zeichenfolge \n (im nächsten Abschnitt beschrieben). Die ES6-Backtick-Syntax erlaubt es, Strings über mehrere Zeilen zu verteilen, wobei die Zeilenabschlüsse Teil des String-Literals sind:
// Ein zwei Zeilen repräsentierender String, auf einer Zeile formuliert:
'two\nlines'
// Ein einzeiliger String, der auf drei Zeilen verteilt wurde:
"one\
long\
line"
// Ein zweizeiliger String, der auf zwei Zeilen verteilt wurde:
`das Newline-Zeichen am Ende dieser Zeile
ist als solches in dieser Zeichenfolge enthalten`
Falls Sie Ihre Strings mit einfachen Anführungszeichen begrenzen, passen Sie bitte bei (vor allem englischen) Zusammenziehungen oder Genitiven wie can’t und O’Reilly’s auf. (Im Deutschen sind solche Fälle seltener, können aber ebenfalls vorkommen.) Da der Apostroph das gleiche Zeichen wie das einfache Anführungszeichen ist, müssen Sie einen Backslash (\) nutzen, um in Strings, die in einfachen Anführungszeichen stehen, Apostrophe zu »maskieren« (Maskierungen bzw. Escape-Sequenzen werden im folgenden Abschnitt erläutert).
In der clientseitigen JavaScript-Programmierung darf JavaScript-Code Strings mit HTML-Code enthalten, genauso wie HTML-Code Zeichenketten mit JavaScript-Code enthalten darf. In beiden Sprachen, JavaScript und HTML, werden einfache oder doppelte Anführungszeichen zur Einfassung von Strings benutzt. Wenn Sie JavaScript und HTML kombinieren, ist es deswegen empfehlenswert, die eine Art Anführungszeichen für JavaScript und die andere für HTML zu nutzen. Im folgenden Beispiel steht der String »Vielen Dank« in einfachen Anführungszeichen in einem JavaScript-Ausdruck, der wiederum in doppelten Anführungszeichen in einem HTML-Eventhandler-Attribut steht:
<button onclick="alert('Vielen Dank')">Klick mich</button>