Wissen Sie wirklich, wie man ES6-Vorlagenzeichenfolgen verwendet?

Vorlagenzeichenfolgen sind eine sehr nützliche und leistungsstarke Funktion von JS. Vorlagenzeichenfolgen können nicht nur das Zusammenfügen von Zeichenfolgen prägnanter gestalten, sondern auch einige erweiterte Verwendungsmöglichkeiten unterstützen. In diesem Artikel werden die erweiterten Verwendungsmöglichkeiten von Vorlagenzeichenfolgen ausführlich erläutert und erläutert, wie diese verwendet werden können, um elegantere und leistungsfähigere Zeichenfolgenoperationen zu erzielen.

Was ist eine Vorlagenzeichenfolge?

Vorlagenzeichenfolgen sind eine neue Zeichenfolgendarstellung, die in ES6 eingeführt wurde. Es verwendet Backticks (`) zum Definieren von Zeichenfolgen und unterstützt Interpolationsausdrücke, wodurch die Verkettung von Zeichenfolgen komfortabler wird. Hier ist ein einfaches Beispiel für eine Vorlagenzeichenfolge:

const name = "Alice";
const greeting = `Hello, ${name}!`;
console.log(greeting); // 输出 "Hello, Alice!"

Im obigen Beispiel ist ${name} ein Interpolationsausdruck, der zur Laufzeit durch den Wert der Variablen name ersetzt wird. Dadurch wird das Einbetten von Variablen in Strings zum Kinderspiel.

1. Mehrzeilige Zeichenfolge

Traditionelle Zeichenfolgendarstellung erfordert häufig die Verwendung von Zeilenumbruchzeichen (\n), um mehrzeilige Zeichenfolgen zu erstellen, während Vorlagenzeichenfolgen es Ihnen ermöglichen, mehrzeilige Zeichenfolgen direkt zu schreiben, wodurch der Code übersichtlicher wird Klar:

const multiLineString = `
  This is a
  multi-line
  string.
`;
console.log(multiLineString);

Dadurch wird das Erstellen von Textblöcken natürlicher und das manuelle Einfügen von Zeilenumbrüchen entfällt.

2. Verschachtelte Vorlagenzeichenfolgen

Vorlagenzeichenfolgen können in andere Vorlagenzeichenfolgen verschachtelt werden, sodass Sie komplexe Zeichenfolgenstrukturen erstellen können. Dies ist nützlich, wenn Sie HTML-Vorlagen oder andere verschachtelte Zeichenfolgen erstellen:

const firstName = "John";
const lastName = "Doe";

const fullNameHTML = `
  <div>
    <p>First Name: ${firstName}</p>
    <p>Last Name: ${lastName}</p>
  </div>
`;

console.log(fullNameHTML);

3. Funktionsaufruf

Vorlagenzeichenfolgen können auch als Argumente an Funktionen übergeben werden, was eine größere Flexibilität bei der Zeichenfolgenverarbeitung bietet. Sie können eine Funktion definieren, die eine Vorlagenzeichenfolge als Parameter empfängt und die Zeichenfolge innerhalb der Funktion verarbeitet, beispielsweise die Zeichenfolge formatiert oder andere Vorgänge ausführt:

function formatCurrency(strings, ...values) {
  let result = "";
  values.forEach((value, index) => {
    result += `${strings[index]}${value}`;
  });
  result += strings[strings.length - 1];
  return result;
}

const price = 19.99;
const discount = 0.2;

const formattedPrice = formatCurrency`Price: ${price} (20%)`;

console.log(formattedPrice); // 输出 "Price: 19.99 (20%)"

In diesem BeispielformatCurrency empfängt die Funktion eine Vorlagenzeichenfolge und einen Vorlagenwert und kombiniert diese dann zu einer neuen Zeichenfolge. Diese Methode kann in Szenarien wie Internationalisierung und Textformatierung verwendet werden.

4. Ursprüngliche Vorlagenzeichenfolge

Zusätzlich zur standardmäßigen Verarbeitung von Vorlagenzeichenfolgen können Sie auch unformatierte Vorlagenzeichenfolgen verwenden. Rohe Vorlagenzeichenfolgen enthalten keine Escape-Zeichen, sondern behalten ihre ursprüngliche Form bei. Um eine rohe Vorlagenzeichenfolge zu verwenden, stellen Sie der Vorlagenzeichenfolge einfach eine String.raw-Funktion voran:

const filePath = String.raw`C:\Users\John\Desktop\file.txt`;
console.log(filePath); // 输出 "C:\Users\John\Desktop\file.txt"

Dies ist nützlich, wenn Sie mit regulären Ausdrücken, Dateipfaden usw. arbeiten, bei denen Escape-Zeichen beibehalten werden müssen.

5. Etikettenvorlagenzeichenfolge

Eine getaggte Vorlagenzeichenfolge ist eine spezielle Art von Vorlagenzeichenfolge, mit der Sie eine getaggte Funktion definieren können, die den Inhalt der Vorlagenzeichenfolge verarbeitet. Die Label-Funktion empfängt die verschiedenen Teile der Vorlagenzeichenfolge und gibt das Endergebnis der Zeichenfolge zurück. Auf diese Weise können wir anpassen, wie Zeichenfolgen generiert werden.

function customTag(strings, ...values) {
  let result = "";
  strings.forEach((string, index) => {
    result += string;
    if (index < values.length) {
      result += values[index];
    }
  });
  return result.toUpperCase();
}

const name = "Alice";
const age = 30;

const formattedString = customTag`Name: ${name}, Age: ${age}`;

console.log(formattedString); // 输出 "NAME: ALICE, AGE: 30"

In diesem Beispiel kombiniert die FunktioncustomTag den Inhalt der Vorlagenzeichenfolge zu einer Großbuchstabenzeichenfolge. Dieser Ansatz kann verwendet werden, um die Textverarbeitung anzupassen oder speziell formatierte Zeichenfolgen zu erstellen.

6. Erweiterte Verwendung: Etikettenfunktion

Tag-Funktionen sind ein leistungsstarkes Werkzeug, mit dem Sie benutzerdefinierte Vorgänge für jeden Teil der Vorlagenzeichenfolge ausführen können. Diese Funktionen empfangen einen Zeichenfolgenteil und den Wert eines Interpolationsausdrucks, sodass Sie nach Bedarf Textverarbeitung, Formatierung oder andere Vorgänge durchführen können.

Hier ist ein komplexeres Beispiel, das die Leistungsfähigkeit der Label-Funktion demonstriert:

function highlight(strings, ...values) {
  let result = "";
  strings.forEach((string, index) => {
    result += string;
    if (index < values.length) {
      result += `<span class="highlight">${values[index]}</span>`;
    }
  });
  return result;
}

const keyword = "JavaScript";
const description = "a versatile programming language";

const highlightedText = highlight`Learn ${keyword} - ${description} today!`;

console.log(highlightedText);

In diesem Beispiel kombiniert die Tag-Funktion highlight die Teile der Vorlagenzeichenfolge und ersetzt den Teil ${values[index]} durch <span class="highlight"> Umbrechen, um einen Texthervorhebungseffekt zu erzielen.

7. Leistung der Vorlagenzeichenfolge

Im Vergleich zur herkömmlichen Zeichenfolgenverkettung weisen Vorlagenzeichenfolgen eine bessere Leistung auf, da die JS-Engine Vorlagenzeichenfolgen zur Kompilierungszeit optimieren kann, wodurch der Laufzeitaufwand reduziert wird. Wenn häufige Vorgänge zum Zusammenfügen von Zeichenfolgen erforderlich sind, wird empfohlen, die Verwendung von Vorlagenzeichenfolgen zu versuchen.

Zusammenfassen

Vorlagenzeichenfolgen sind eine leistungsstarke und flexible Funktion in JS. Sie vereinfachen nicht nur das Zusammenfügen von Zeichenfolgen, sondern unterstützen auch erweiterte Verwendungsmöglichkeiten wie mehrzeilige Zeichenfolgen, Interpolationsausdrücke, Originalvorlagenzeichenfolgen und Tag-Funktionen. Die ordnungsgemäße Verwendung von Vorlagenzeichenfolgen kann die Lesbarkeit und Wartbarkeit des Codes verbessern.

Guess you like

Origin blog.csdn.net/yuleiming21/article/details/133222749