Это называется Tagged Template String в ES-6. Более подробно о них можно прочитать. Here, funny Я нашел ссылку в разделе, посвященном чату.
Но приведенная часть кода ниже (вы можете в основном создать сортировку фильтра).
function tag(strings, ...values) {
assert(strings[0] === 'a');
assert(strings[1] === 'b');
assert(values[0] === 42);
return 'whatever';
}
tag `a${ 42 }b` // "whatever"
В основном его просто помечать «1» с console.log функции, как это будет делать с любой другой функции. Функции тегов принимают разобранные значения строк шаблона и значения, отдельно от которых могут выполняться дополнительные задачи.
Бабель transpiles приведенный выше код для
var _taggedTemplateLiteralLoose = function (strings, raw) { strings.raw = raw; return strings; };
console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));
Как вы можете видеть в приведенном выше примере, после того, как transpiled Бабеля, функция мечения (console.log) в настоящее время передается возвращаемое значение из следующих es6-> 5 преобразованный код.
_taggedTemplateLiteralLoose (["1"], ["1"]);
Возвращаемое значение этой функции передается в console.log, который затем печатает массив.
Связанные: [Javascript Es6 Tagged Templates - Когда используется сырье? Когда используется cookie?] (Http://stackoverflow.com/q/27782577/218196), [Как функции тегов с тегами ES6 интерпретируют их порядок аргументов?] (Http://stackoverflow.com/q/24816777/218196) –