Il s'appelle Tagged Template dans ES-6. Plus d'informations à leur sujet. Ici , drôle, j'ai trouvé le lien dans la section étoilée du chat.
Mais la partie pertinente du code est ci-dessous (vous pouvez essentiellement créer un tri filtré).
function tag(strings, ...values) {
assert(strings[0] === 'a');
assert(strings[1] === 'b');
assert(values[0] === 42);
return 'whatever';
}
tag `a${ 42 }b`
Fondamentalement, il ne fait que marquer le "1" avec la fonction console.log, comme il le ferait avec n'importe quelle autre fonction. Les fonctions de balisage acceptent les valeurs analysées des chaînes de modèle et les valeurs séparément sur lesquelles d'autres tâches peuvent être effectuées.
Babel transpile le code ci-dessus en
var _taggedTemplateLiteralLoose = function (strings, raw) { strings.raw = raw; return strings; };
console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));
Comme vous pouvez le voir dans l'exemple ci-dessus, après avoir été transpilée par babel, la fonction de balisage (console.log) reçoit la valeur de retour du code transpilé es6-> 5 suivant.
_taggedTemplateLiteralLoose( ["1"], ["1"] );
La valeur de retour de cette fonction est transmise à console.log qui imprimera alors le tableau.