这是javascript逗号运算符的情况吗?

Is this a case of javascript comma operator

本文关键字:情况 运算符 javascript 这是      更新时间:2023-09-26

请从d3查看此代码.js

if (y1 < y0) t = y0, y0 = y1, y1 = t;

这与逗号运算符有关,在返回/赋值最后一个值的意义上,或等效于

if (y1 < y0) {
  t = y0;
  y0 = y1;
  y1 = t;
}

我更担心的是,这里发生的任何棘手的事情都依赖于操作顺序。

是的,第一个代码段使用逗号运算符,并且两个代码段是等效的,因为逗号运算符从左到右计算。

代码段中使用逗号运算符将多个赋值放入单个语句中,因此它们都由前面的if控制,并且可以保存几个字符({})。

不确定这是否值得手动执行,但简化器通常会进行这种优化(并且它加起来)