为什么会收到错误“模板表达式中缺少 }”?

Pan*_*gic 2 javascript node.js ecmascript-6

我尝试在Node.js v8.9.4中计算这个表达式:

`${ xxx 123 }`
Run Code Online (Sandbox Code Playgroud)

它抛出错误

模板表达式中缺少 }

我知道上面的表达式应该会导致错误,因为里面的内容${}不是有效的 JavaScript。但为什么错误消息声称}缺少 a 呢?我可以清楚地看到一个开口 {和一个关闭}。为什么说} 缺少a?

Hug*_*lva 5

你说有一个右大括号,但 js 执行并没有走那么远,因为它在 xxx 和 123 之间中断。

该语法需要左大括号、语句,然后是右大括号。它得到左大括号,一个语句,然后另一个语句。所以在这一点上,错误正是所说的。事实上,如果你按照它的建议添加大括号,它就会起作用${ xxx } 123 }:D 这不是你想要的,但你不能说它是错误的