--- title: String.raw() slug: Web/JavaScript/Reference/Global_Objects/String/raw tags: - ECMAScript 2015 - JavaScript - Method - Reference - String translation_of: Web/JavaScript/Reference/Global_Objects/String/raw ---
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.String.raw(callSite, ...substitutions)
String.raw`templateString`
callSite
{ raw: 'string' }
....substitutions
templateString
${...}
).Einen rohen, unveränderbaren String des template Strings.
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 und führt concatenation (Verbindung mehrerer Strings zu einem) aus. Man kann sie sogar mit JS code neu schreiben.
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'
Spezifikation | Status | Kommentar |
---|---|---|
{{SpecName('ES2015', '#sec-string.raw', 'String.raw')}} | {{Spec2('ES2015')}} | Initiale Definition. |
{{SpecName('ESDraft', '#sec-string.raw', 'String.raw')}} | {{Spec2('ESDraft')}} |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 41 | {{CompatGeckoDesktop("34")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | 41 | {{CompatGeckoMobile("34")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |