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
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
Schlagwörter:
Mitwirkende an dieser Seite:
schlagi123,
cnu301
Zuletzt aktualisiert von:
schlagi123,