Nazywa się Tagged Template w ES-6 więcej o nich można poczytać Tutaj , zabawne znalazłem link w oznaczonej gwiazdką sekcji samego czatu.
Ale odpowiednia część kodu znajduje się poniżej (zasadniczo możesz utworzyć filtrowane sortowanie).
function tag(strings, ...values) {
assert(strings[0] === 'a');
assert(strings[1] === 'b');
assert(values[0] === 42);
return 'whatever';
}
tag `a${ 42 }b`
Zasadniczo jest to po prostu oznaczenie „1” funkcją console.log, tak jak zrobiłoby to z każdą inną funkcją. Funkcje znakowania akceptują przeanalizowane wartości ciągów szablonów i osobno wartości, na których można wykonać dalsze zadania.
Babel transponuje powyższy kod do
var _taggedTemplateLiteralLoose = function (strings, raw) { strings.raw = raw; return strings; };
console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));
Jak widać w powyższym przykładzie, po transpilacji przez babel, funkcja tagowania (console.log) jest przekazywana jako wartość zwracana następującego kodu es6-> 5 transpiled.
_taggedTemplateLiteralLoose( ["1"], ["1"] );
Wartość zwracana przez tę funkcję jest przekazywana do console.log, który następnie wydrukuje tablicę.