如果后面有右大括号,为什么语法错误消息显示“模板表达式中缺少 }”?

问题描述 投票:0回答:1

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

`${ xxx 123 }`

它抛出错误

模板表达式中缺少 }

我理解上面的表达应该导致 错误,因为

${}
里面的内容不是 有效的 JavaScript。但为什么会出现错误信息 声称缺少
}
?我可以清楚地看到一个开口
{
和结束语
}
。为什么说是
}
不见了?

javascript node.js ecmascript-6
1个回答
6
投票

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

语法需要左大括号、语句,然后是右大括号。它得到左大括号,一个语句,然后另一个语句。所以在这一点上,错误正是所说的。事实上,如果您按照建议添加大括号,它就会起作用

${ xxx } 123 }
:D 这不是你想要的,但你不能说这是错的

© www.soinside.com 2019 - 2024. All rights reserved.