为什么++ var ++不是合法的Javascript表达式?

时间:2017-05-17 11:07:57

标签: javascript expression

我正在阅读关于Javascript运算符优先级over here的内容并且很好奇为什么我不能写这样的内容:

let num = 1;
++num++;

出现Uncaught ReferenceError: Invalid left-hand side expression in prefix operation错误。但那是为什么呢? :)

2 个答案:

答案 0 :(得分:7)

评估为

++(num++) 

所以,表达式

num++

返回一个数字,而不是变量,因为它是一个原始值。添加的加号会引发异常,因为原始值不是变量而且不能进行分配。

答案 1 :(得分:-3)

您只能使用其中一个运算符。 尝试改为:

let num = 1;
++num;
num++;