Читать книгу JavaScript für Ungeduldige - Cay Horstmann - Страница 40
1.11Template-Literale
ОглавлениеTemplate-Literale sind Strings, die Ausdrücke enthalten und mehrere Zeilen umspannen können. Sie werden in Backticks (`...`) eingeschlossen:
let destination = 'world' // Regulärer String
let greeting = `Hello, ${destination.toUpperCase()}!` //Template-Literal
Die in ${...} eingebetteten Ausdrücke werden ausgewertet, bei Bedarf in einen String umgewandelt und dann in das Template eingefügt. Im vorigen Beispiel ergibt sich dadurch der folgende String:
Hello, WORLD!
Sie können auch weitere Template-Literale in dem ${...}-Ausdruck verschachteln:
greeting = `Hello, ${firstname.length > 0 ? `${firstname[0]}. ` : '' }
${lastname}`
Alle Zeilenumbrüche innerhalb des Template-Literals werden in den String aufgenommen. Betrachten Sie dazu das folgende Beispiel:
greeting = `<div>Hello</div>
<div>${destination}</div>
`
Hier wird greeting auf den String '<div>Hello</div>\n<div>World</div>\n' mit Zeilenumbrüchen hinter jeder Zeile gesetzt. (Für den resultierenden String werden die Windows-Zeilenende-Zeichen \r\n in das Unix-Zeilenende-Zeichen \n umgewandelt.)
Um in Template-Literale Backticks, Dollarzeichen und Backslashs aufzunehmen, müssen Sie sie mit Backslashs maskieren. Die Zeichenfolge `\`\$\\` enthält die drei Zeichen `$\.