尝试使用Tagged模板字符串会出现'Uncaught SyntaxError:Unexpected token'

时间:2015-10-14 12:36:31

标签: javascript google-chrome ecmascript-6 template-strings tagged-templates

我在以下代码中使用标记的模板字符串

var a = 5;
var b = 10;
var pp="";
function tag(strings, ...values) {
  pp+=strings[0]; // "Hello "
  pp+=strings[1]; // " world "
  pp+=values[0];  // 15
  pp+=values[1];  // 50

  console.log(pp+"Bazinga!");
}

tag`Hello ${ a + b } world ${ a * b}`;

但它给出了

  

Uncaught SyntaxError:意外的令牌......(...)

function tag(strings, ...values) {

1 个答案:

答案 0 :(得分:4)

正如语法错误Unexpected token ...告诉您的那样,标签不是问题,而是其余运算符的用法。请尝试以下方法:

var a = 5,
    b = 10;
function tag(strings) {
  var pp="";
  pp+=strings[0]; // "Hello "
  pp+=strings[1]; // " world "
  pp+=arguments[1];  // 15
  pp+=arguments[2];  // 50

  return pp+"Bazinga!";
}

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

根据Razor intellisense not working in VS 2015,您需要在当前Chrome中通过ES6 compatibility table启用休息语法。