Heim >Web-Frontend >js-Tutorial >Wie kann ich eine Zeichenfolge programmgesteuert und sicher in ein Vorlagenliteral in JavaScript konvertieren?

Wie kann ich eine Zeichenfolge programmgesteuert und sicher in ein Vorlagenliteral in JavaScript konvertieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 02:01:09494Durchsuche

How Can I Programmatically Convert a String to a Template Literal in JavaScript Safely?

Strings programmgesteuert in Vorlagenstrings konvertieren

In Javascript ist es möglich, String-Vorlagen mithilfe von Backticks ( ) oder zu definieren. In einigen Szenarien kann es jedoch vorkommen, dass Sie eine Zeichenfolge haben, die einer Vorlagenzeichenfolge ähnelt, aber syntaktisch keine solche ist.

Zum Beispiel könnten Sie eine Zeichenfolge haben, die wie folgt aussieht:

let a = "b:${b}";

Und Sie möchten es später in eine gültige Vorlagenzeichenfolge konvertieren.

Es ist wichtig zu beachten, dass Methoden wie eval oder new Function für dynamischen Code verwendet werden Die Generierung wird aus Sicherheitsgründen nicht empfohlen. Stattdessen. Sie können die in ES6 implementierte String.prototype.interpolate-Methode wie folgt nutzen:

String.prototype.interpolate = function(params) {
  const names = Object.keys(params);
  const vals = Object.values(params);
  return new Function(...names, `return \`${this}\`;`)(...vals);
};

Mit dieser Methode können Sie Ihren String auf folgende Weise transformieren:

let b = 10;
console.log(a.interpolate({ b }));

Die Die Ausgabe ist b:10, was die erfolgreiche Interpolation der Variablen b in die Zeichenfolge a demonstriert.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Zeichenfolge programmgesteuert und sicher in ein Vorlagenliteral in JavaScript konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn