Heim >Web-Frontend >js-Tutorial >Warum ersetzen meine JavaScript-Vorlagenliterale keine Variablen?

Warum ersetzen meine JavaScript-Vorlagenliterale keine Variablen?

DDD
DDDOriginal
2024-12-06 22:21:12783Durchsuche

Why Aren't My JavaScript Template Literals Substituting Variables?

Fehlerbehebung bei Vorlagenliteralen: Beheben von Problemen mit der Variablensubstitution

Vorlagenliterale, gekennzeichnet durch Backticks () anstelle von geraden Anführungszeichen, ermöglichen Entwicklern die Einbettung Ausdrücke innerhalb von Zeichenfolgen. Möglicherweise tritt jedoch ein Problem auf, bei dem Vorlagenliterale wie „some ${string}“ oder „some ${string}“ Variablennamen nicht durch ihre Werte ersetzen können.

Ursache:

Dieses Problem tritt auf, wenn stattdessen gerade Anführungszeichen (einfach oder doppelt) verwendet werden Backticks.

Lösung:

Um dieses Problem zu lösen, ersetzen Sie einfach die geraden Anführungszeichen, die das Vorlagenliteral umgeben, durch Backticks, etwa so:

console.log(`categoryName: ${this.categoryName}\ncategoryElements: ${this.categoryElements} `)

Erklärung:

JavaScript-Vorlagenliterale verwenden Backticks als Trennzeichen. Diese Unterscheidung unterscheidet sie von regulären Zeichenfolgen, die gerade Anführungszeichen verwenden. Durch die Verwendung von Backticks weisen Sie JavaScript an, alle im Vorlagenliteral eingebetteten Ausdrücke zu analysieren und auszuwerten, was zur Ersetzung von Variablenwerten führt.

Beispiel:

Bedenken Sie Folgendes Code:

categoryName="name";
categoryElements="element";
console.log(`categoryName: ${this.categoryName}\ncategoryElements: ${categoryElements} `)

Dieser Code gibt Folgendes aus:

categoryName: name
categoryElements: element

In Wenn Sie dagegen gerade Anführungszeichen verwenden würden, würde die Ausgabe wie folgt aussehen:

${this.categoryName}
categoryElements: ${this.categoryElements}

Dies zeigt, wie gerade Anführungszeichen das Vorlagenliteral als reguläre Zeichenfolge behandeln und die Namen der Literalvariablen beibehalten, anstatt die Ausdrücke auszuwerten innerhalb.

Referenz:

  • [Verwendung des Backticks Zeichen () in JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Template_literals#Usage_of_the_backtick_character_)

Das obige ist der detaillierte Inhalt vonWarum ersetzen meine JavaScript-Vorlagenliterale keine Variablen?. 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