В ES-6 он называется Tagged Template, подробнее о них можно было прочитать Вот , забавно, я нашел ссылку в отмеченном звездочкой разделе того самого чата.
Но соответствующая часть кода ниже (вы можете создать фильтруемую сортировку).
function tag(strings, ...values) {
assert(strings[0] === 'a');
assert(strings[1] === 'b');
assert(values[0] === 42);
return 'whatever';
}
tag `a${ 42 }b`
По сути, это просто пометка «1» функцией console.log, как это было бы с любой другой функцией. Функции маркировки принимают проанализированные значения строк шаблона и значения отдельно, на основе которых могут выполняться дальнейшие задачи.
Babel транслирует приведенный выше код в
var _taggedTemplateLiteralLoose = function (strings, raw) { strings.raw = raw; return strings; };
console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));
Как вы можете видеть в приведенном выше примере, после переноса с помощью babel функции тегов (console.log) передается возвращаемое значение следующего транспилированного кода es6-> 5.
_taggedTemplateLiteralLoose( ["1"], ["1"] );
Возвращаемое значение этой функции передается в console.log, который затем распечатывает массив.