Node.js 4.0 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

带标签的模板字符串

模板字符串的一种更高级的形式称为带标签的模板字符串。它允许您通过标签函数修改模板字符串的输出。标签函数的第一个参数是一个包含了字符串字面值的数组(在本例中分别为“Hello”“world”);第二个参数,在第一个参数后的每一个参数,都是已经被处理好的替换表达式(在这里分别为“15”“50”)。 最后,标签函数返回处理好的字符串。在后面的示例中,标签函数的名称可以为任意的合法标示符。

var a = 5;
var b = 10;

function tag(strings) {
  console.log(arguments);    // { '0': [ 'Hello ', ' world ', '' ], '1': 15, '2': 50 }
  console.log(strings[0]);   // "Hello "
  console.log(strings[1]);   // " world "
  console.log(arguments[1]);  // 15
  console.log(arguments[2]);  // 50

  return "Hubwiz!";
}

console.log(tag`Hello ${ a + b } world ${ a * b}`);
// "Hubwiz!"

我们打印出arguments可以看到 处理的参数为

{ '0': [ 'Hello ', ' world ', '' ], '1': 15, '2': 50 }

我们已有的Helloworld参数放到一个数组中,后续处理的参数依次生成。