Heim >Web-Frontend >js-Tutorial >Warum ersetzen meine JavaScript-Vorlagenliterale keine Variablen?
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:
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!