Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

String.raw()

Die statische String.raw() Methode ist eine tag Funktion für template literale ähnlich dem r Präfix in Python oder dem @ Präfix in C# für String Literale (es gibt jedoch einen Unterschied: siehe in der Beschreibung dieses Issues). Es wird verwendet um rohen, unveränderten Text zu verwenden.
 

Syntax

String.raw(callSite, ...substitutions)
String.raw`templateString`

Parameter

callSite
Sauber formatiertes template call object, wie { raw: 'string' }.
...substitutions
Enthält Substitutionswerte.
templateString
Ein template string, optional mit Substitutionen (${...}).

Rückgabewerte

Einen rohen, unveränderbaren String des template Strings.

Auftretende Errors

TypeError
Ein TypeError  wird ausgeworfen wenn das erste Argument nicht sauber formatiert ist.

Beschreibung

Meistens wird String.raw() mit template strings (Vorlagen-Zeichenketten) benutzt. Die erste oben beschriebene Syntax wird kaum benutzt weil die JavaScript engine die Argumente richtig aufrufen wird so wie bei anderen tag Funktionen.

String.raw() ist die einzige built-in tag function für template strings; Sie funktioniert wie eine default template function unf führt concatenation (Verbindung mehrerer Strings zu einem) aus. Man kann sie sogar mit JS code neu schreiben.

Beispiele

Verwendung von String.raw()

String.raw`Hi\n${2+3}!`;
// 'Hi\\n5!', das Zeichen nach 'Hi' ist kein newline (Zeilenumbruch) Zeichen,
// '\' und 'n' sind zwei Zeichen.

String.raw`Hi\u000A!`;
// 'Hi\\u000A!', hier genauso, diesmal bekommen wir folgende Zeichen zurrück:
//  \, u, 0, 0, 0, A, 6
// Alle Typen von escape characters (besondere Steuerzeichen) sind ineffektiv
// Backslashes werden unverändert ausgegeben.
// Man kann dies prüfen indem man die .length property des strings abfragt
console.log( String.raw`Hi\u000A!`.length ) // gibt 9 zurrück
console.log( "Hi\u000A!".length ) // gibt 4 zurrück


let name = 'Bob';
String.raw`Hi\n${name}!`;
// 'Hi\\nBob!', Substitutionen werden bearbeitet.

// Normalerweise ruft man  String.raw() nicht als function auf aber man kann
//folgendes:
String.raw({ raw: 'test' }, 0, 1, 2);
// 't0e1s2t'

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'String.raw' in dieser Spezifikation.
Standard Initiale Definition.
ECMAScript 2017 Draft (ECMA-262)
Die Definition von 'String.raw' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 41 34 (34) Nicht unterstützt Nicht unterstützt Nicht unterstützt
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Nicht unterstützt 41 34.0 (34) Nicht unterstützt Nicht unterstützt Nicht unterstützt

See also

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: schlagi123, cnu301
 Zuletzt aktualisiert von: schlagi123,