Ho una semplice funzione di registrazione:Perché le funzioni possono essere chiamate senza parentesi quando si utilizzano stringhe di modelli?
function log(str) {
console.log('logged: ', str);
}
Se lo chiamo io senza parentesi (che attualmente utilizzano strumenti di sviluppo di Chrome) e passare in una stringa di modello, in questo modo:
log`foo`
l'output è: logged: ["foo", raw: Array[1]]
Se lo chiamo io con parentesi,
log(`foo`)
L'uscita è: logged: foo
Perché il richiamo di una funzione utilizzando una stringa di modello e nessuna parentesi funziona in Javascript? Cosa sta succedendo fa sì che il risultato sia diverso dal chiamarlo con parentesi?
Vale la pena aggiungere un collegamento, come non ne avevo mai sentito prima: https://developers.google.com/web/updates/2015/01/ES6-Template-Strings#tagged-templates – Mathletics