在ES-6中被称为“标记模板”,有关它们的更多信息,在这里,有趣的是,我在即时通讯的加星标部分中找到了该链接。
但是代码的相关部分在下面(您基本上可以创建过滤的排序)。
function tag(strings, ...values) { assert(strings[0] === 'a'); assert(strings[1] === 'b'); assert(values[0] === 42); return 'whatever';}tag `a${ 42 }b` // "whatever"基本上,它只是使用console.log函数标记“ 1”,就像使用其他任何函数一样。标记功能接受已解析的模板字符串值以及分别可在其上执行更多任务的值。
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,该控制台随后将打印阵列。



