es6 标签模板

377 阅读1分钟

模板字符串,可以紧跟在一个函数后面,这个函数将被调用来处理这个模板字符串,这个被称为“模板标签”的功能,标签模板不是模板,而是函数调用的另一种方式,标签指的是函数,紧跟在它后面的模板字符串是它的参数,但是模板版字符串种如果有参数,那么就不再是简单的调用了,会先将模板字符串处理成多个参数的形式,然后再调用函数。

alerthello

// 等同于

alert(['hello'])

\

\

let total = 30;let msg = passthruThe total is ${total} (${total*1.05} with tax);function passthru(literals) {

  let result = '';

  let i = 0;

\

  while (i < literals.length) {

    result += literals[i++];

    if (i < arguments.length) {

      result += arguments[i];

    }

  }

\

  return result;}msg // "The total is 30 (31.5 with tax)"

\