语法错误:意外标记

当解析器在给定位置没有看到它识别的标记时,就会出现JavaScript异常“意外标记”,因此它无法理解程序的结构。这可能是一个简单的输入错误。

消息

语法错误:意外标记“;”(基于V8)SyntaxError:意外的标识符“x”(基于V8)语法错误:意外数字(基于V8)语法错误:意外字符串(基于V8)语法错误:意外的正则表达式(基于V8)语法错误:意外的模板字符串(基于V8)语法错误:意外标记:标识符(Firefox)SyntaxError:预期表达式,得到“x”(Firefox)SyntaxError:预期的属性名称,得到“x”(Firefox)语法错误:预期目标,获得“x”(Firefox)语法错误:需要meta,得到“x”(Firefox)语法错误:需要rest参数名称,得到“x”(Firefox)语法错误:需要右括号,得到“x”(Firefox)

错误类型

出了什么问题?

需要特定的语言结构,但提供了其他内容。这可能会是一个简单的打字错误。

示例

需要表达式

例如,链接表达式时,不允许使用尾随逗号。

js公司
for(设i=0;i<5,;++i){控制台.log(i);}//Uncaught SyntaxError:应为表达式,获取“;”

正确的做法是省略逗号或添加另一个表达式:

js公司
for(设i=0;i<5;++i){控制台.log(i);}

括号不够

有时,您会在后面省略括号如果声明:

js公司
函数round(n,upperBound,lowerBound){if(n>上限)||(n<下限){//此处括号不够!throw new Error(`Number${n}大于${upperBound}或小于${lowerBound}`);}else if(n<(上限+下限)/2){return lowerBound;}其他{return upperBound;}}//语法错误:需要表达式,得到“||”

括号一开始看起来可能是正确的,但请注意||在外部圆括号。正确的做法是在||:

js公司
函数round(n,upperBound,lowerBound){if((n>上限)||(n<下限)){引发新错误(`数字${n}大于${upperBound}或小于${lowerBound}`,);}else if(n<(上限+下限)/2){return lowerBound;}其他{return上限;}}

另请参见