私は、単純なロギング機能があります:私は(現在はChromeの開発ツールを使用して)括弧なしでそれを呼び出すと、このように、テンプレート文字列を渡す場合テンプレート文字列を使用するときに、関数をかっこなしで呼び出すことができるのはなぜですか?
function log(str) {
console.log('logged: ', str);
}
を:
log`foo`
出力は次のようになります。私は括弧でそれを呼び出した場合logged: ["foo", raw: Array[1]]
、
log(`foo`)
出力は:logged: foo
なぜテンプレート文字列を使用して関数を呼び出すと、カッコがJavaScriptで機能しないのですか?結果がカッコで囲まれたものと異なる原因となるのは何ですか?
これまでに聞いたことがなかったほど、リンクを追加する価値があります:https://developers.google.com/web/updates/2015/01/ES6-Template-Strings#tagged-templates – Mathletics