Heim > Web-Frontend > js-Tutorial > Warum gibt `console.log`1 „[\'1\', raw: Array[1]]` in JavaScript aus?

Warum gibt `console.log`1 „[\'1\', raw: Array[1]]` in JavaScript aus?

Linda Hamilton
Freigeben: 2024-11-29 19:12:11
Original
427 Leute haben es durchsucht

Why Does `console.log`1 Output `[

Enthüllung des Rätsels der Backticks: Aufrufen von Funktionen in JavaScript

Im Bereich von JavaScript haben die bescheidenen Backticks (…) eine mysteriöse Kraft , in der Lage, Funktionen nahtlos aufzurufen. Dennoch kann dieses Phänomen selbst erfahrene Entwickler verwirren. Warum führt der Code console.log1` zu einer unerwarteten Ausgabe wie „console.log1`nVM12380:2 [“1“, raw: Array[1]]“?

Die Antwort liegt im Konzept von Tagged Vorlagen, eine faszinierende Funktion, die in ES-6 eingeführt wurde. Mit Tags versehene Vorlagen ermöglichen es Entwicklern, Vorlagenzeichenfolgen mit Funktionen zu kennzeichnen, sodass sie Operationen an den analysierten Werten dieser Zeichenfolgen ausführen können.

In unserem Beispiel kennzeichnen die Backticks (…) die Literalzeichenfolge „1“ mit der Konsole. Protokollfunktion. Wie jede andere Funktion empfängt die getaggte Funktion die geparsten Werte der Vorlagenzeichenfolge, bei denen es sich um die Zeichenfolge selbst und ein Array mit ihrem Rohwert handelt.

Getaggte Funktionen wie console.log können die String-Vorlage verarbeiten, bevor sie verarbeitet wird Ausgabe. In diesem Fall gibt die Funktion lediglich das empfangene Array aus, was zu der von uns beobachteten Ausgabe führt.

Babel, ein beliebter JavaScript-Transpiler, wandelt Tagged Template-Code in eine ES-5-kompatiblere Form um. In unserem Fall wird der folgende Code generiert:

var _taggedTemplateLiteralLoose = function (strings, raw) {
  strings.raw = raw;
  return strings;
};

console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));
Nach dem Login kopieren

Die Funktion _taggedTemplateLiteralLoose gibt die getaggte Vorlage zurück, die dann an console.log übergeben wird. Dies erklärt, warum das Array ["1", raw: Array[1]] in der Konsole gedruckt wird.

Die Stärke der Backticks liegt also in ihrer Fähigkeit, Tagged Templates zu ermöglichen, einen Mechanismus, der Funktionen ermöglicht Verarbeiten und verbessern Sie die Zeichenfolgen, mit denen sie getaggt sind, und eröffnen Sie so eine Welt voller Möglichkeiten in der JavaScript-Programmierung.

Das obige ist der detaillierte Inhalt vonWarum gibt `console.log`1 „[\'1\', raw: Array[1]]` in JavaScript aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage