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"]));
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!