我正在阅读关于Javascript运算符优先级over here的内容并且很好奇为什么我不能写这样的内容:
let num = 1;
++num++;
出现Uncaught ReferenceError: Invalid left-hand side expression in prefix operation
错误。但那是为什么呢? :)
答案 0 :(得分:7)
评估为
++(num++)
所以,表达式
num++
返回一个数字,而不是变量,因为它是一个原始值。添加的加号会引发异常,因为原始值不是变量而且不能进行分配。
答案 1 :(得分:-3)
您只能使用其中一个运算符。 尝试改为:
let num = 1;
++num;
num++;