逗号运算符如何在js中工作?

lek*_*kda 4 javascript comma operator-keyword

我试图理解逗号运算符(,)在JavaScript中是如何工作的,当它没有放在括号之间时似乎有不同的行为.

有人能解释一下为什么吗?

例如:

var a = 1; 
var b = 2; 
var c = (a,b);
console.log(c);
//output : as expected 
var c = a,b;
console.log(c);
//output : 1 
Run Code Online (Sandbox Code Playgroud)


[编辑]标题可能有点令人困惑.我的问题是关于昏迷操作员和var属性之间的误解,因为somone 进一步向下解释

因此,这个主题不是那个主题的副本.逗号在JavaScript表达式中做了什么?

Que*_*tin 5

var c = (a,b);
Run Code Online (Sandbox Code Playgroud)

以上使用逗号运算符.它评估为其右侧(即b)的值.


var c = a,b;
Run Code Online (Sandbox Code Playgroud)

这不使用逗号运算符.

这里的逗号字符构成var表达式的一部分,该表达式采用逗号分隔的变量列表在当前范围内创建,每个变量都可以具有可选的赋值.

它相当于:

var c = a;
var b;
Run Code Online (Sandbox Code Playgroud)