gpt4 book ai didi

javascript - 为什么 JavaScript 逗号运算符在与函数应用程序一起使用时需要括号?

转载 作者:行者123 更新时间:2023-11-28 11:53:04 25 4
gpt4 key购买 nike

我可以使用comma operator在 JavaScript 中计算多个表达式并返回最后一个。

x = "foo", "bar"; // "bar"
y = 0, 21, 42; // 42

但是如果涉及函数应用程序,为什么括号至关重要?

arr = [1,2,3];
z1 = (arr.push(4), arr); // [1,2,3,4]
z2 = arr.push(5), arr; // 5 ??

为什么最后一条语句将 z2 设置为 5 而不是 arr?这与之前正确设置 z1 的语句有何不同?

最佳答案

正如您链接的资源所述:

The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.

从左到右,您的结构如下:

  1. z2 = arr.push(5)
  2. arr

由于缺少括号,z2 = arr.push(5) 是与 arr 分开的语句,并且先执行,然后执行 arr code> 被执行(并返回)。 z2 等于 5,但整行返回的是 [1,2,3,4,5]。以下是输入 JavaScript 控制台的代码的屏幕截图:

Example

由于括号的原因,

z1 等于 [1,2,3,4]。执行arr.push(4),然后执行arr并返回到z1变量。

关于javascript - 为什么 JavaScript 逗号运算符在与函数应用程序一起使用时需要括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31873066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com