逗号运算符 ,
是最少见、最不常见的运算符之一。有时候它被用来写更简短的代码,所以我们需要了解它,以便看懂别人的代码。

逗号运算符允许我们依次计算多个表达式,用逗号 ,
分隔。每个表达式都会被计算,但只有最后一个表达式的结果会被返回。
例如:
let a = (1 + 2, 3 + 4); alert( a ); // 7 (the result of 3 + 4)
这里,第一个表达式 1 + 2
被计算,但它的结果被丢弃;接着,3 + 4
被计算并作为最终结果返回。
逗号运算符的优先级非常低
请注意,逗号运算符的优先级非常低,比赋值运算符 =
还低,因此上面示例中的括号是非常重要的。
如果没有括号,比如:a = 1 + 2, 3 + 4
,会先执行加法,把 a
赋值为 3
,然后 3 + 4
被孤立计算但其结果被忽略。等同于 (a = 1 + 2), 3 + 4
。
我们为什么需要一个只保留最后一个表达式结果、丢弃其他表达式的运算符?
有时候,人们会在更复杂的结构中使用逗号运算符,把多个操作写在一行中。
例如:
// three operations in one line for (a = 1, b = 3, c = a * b; a < 10; a++) { ... }
请阅读以下示例:
let x = 10; let y = (x++, x + 1); console.log(x, y);
结果:
11 12
在此示例中,我们将 x
的值增加一 (x++),再将一加到 x (x+1) 然后将 x 分配给 y。 因此,语句后 x 为 11,y 为 12。
但是,为了使代码更明确,您可以使用两个语句而不是一个带有逗号运算符的语句,如下所示:
let x = 10; x++; let y = x + 1; console.log(x, y);
这段代码更明确。实际上,您可能希望在 for
循环内使用逗号运算符,使用循环来更新多个变量。
但通常它们不会提升代码的可读性,所以在使用之前,我们应该仔细考虑是否真的有必要。
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!