我无法理解javascript正在为下面的字符串做什么.
console.log((1,2,3,4)); //print 4
console.log((1,false)); //print false
Run Code Online (Sandbox Code Playgroud)
不知道在哪种情况下我可以使用它.
因为这就是逗号运算符被定义为正在做的事情.它评估为RHS.
生产表达式:表达式,AssignmentExpression的评估如下:
- 让lref成为评估Expression的结果.
- 调用GetValue(lref).
- 让rref成为评估AssignmentExpression的结果.
- 返回GetValue(rref).
另见MDN:
逗号运算符计算其每个操作数(从左到右)并返回最后一个操作数的值.
和
如果要在需要单个表达式的位置包含多个表达式,可以使用逗号运算符.此运算符的最常见用法是在
for循环中提供多个参数.
在LHS上使用不可变值是没有意义的.