バッククォートの謎を明らかにする: JavaScript での関数の呼び出し
JavaScript の領域では、控えめなバッククォート (…) が不思議な力を持っています。 、シームレスに機能を呼び出すことができます。しかし、この現象は経験豊富な開発者でさえ困惑する可能性があります。 console.log1` コードによって、「console.log1`nVM12380:2 ["1", raw: Array[1]]」のような予期しない出力が発生するのはなぜですか?
答えは、タグ付きの概念にあります。テンプレート、ES-6 で導入された興味深い機能。タグ付きテンプレートを使用すると、開発者はテンプレート文字列に関数をタグ付けして、それらの文字列の解析された値に対して操作を実行できるようになります。
この例では、バッククォート (…) がコンソールのリテラル文字列「1」にタグを付けています。ログ機能。他の関数と同様に、タグ付き関数はテンプレート文字列の解析された値を受け取ります。これは、文字列そのものと、その生の値を含む配列です。
console.log のようなタグ付き関数は、文字列テンプレートが文字列になる前に処理できます。出力。この場合、関数は受け取った配列を単に出力するだけで、結果として観察される出力が得られます。人気のある JavaScript トランスパイラーである
Babel は、タグ付きテンプレート コードをより ES-5 互換の形式に変換します。この例では、次のコードが生成されます:
_taggedTemplateLiteralLoose 関数はタグ付きテンプレートを返し、それが console.log に渡されます。これは、配列 ["1", raw: Array[1]] がコンソールに出力される理由を説明しています。
したがって、バッククォートの力は、関数が次のことを可能にするメカニズムであるタグ付きテンプレートを容易にする機能にあります。タグ付けされた文字列を処理して強化し、JavaScript プログラミングの可能性の世界を開きます。
以上がJavaScript で `console.log`1 が `[\'1\', raw: Array[1]]` を出力するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。