JavaScript中的逗号运算符

Ján*_*nos 0 javascript

教程之后,这些行是什么意思?

var join = require('path').join
  , pfx = join(__dirname, '../_certs/pfx.p12');
Run Code Online (Sandbox Code Playgroud)

逗号运算符计算其每个操作数(从左到右)并返回最后一个操作数的值.

这些线条如何更容易编写?

ade*_*neo 5

在这种情况下,逗号分隔两个变量,就是它,它与写入相同

var join = require('path').join;
var pfx  = join(__dirname, '../_certs/pfx.p12');
Run Code Online (Sandbox Code Playgroud)

相反,人们可以做到

var join = require('path').join,
    pfx  = join(__dirname, '../_certs/pfx.p12');
Run Code Online (Sandbox Code Playgroud)

在这种情况下,逗号只是一个分隔符,就像它是一个对象文字或数组一样.

当您想要在需要单个表达式的位置包含多个表达式时,可以使用逗号运算符,它只作用于两个表达式的运算符,一个在左侧,一个在右侧.

一个例子是在一个return语句中

[1,2,3].reduce(function(a,b,i) {
    return a[i] = b, a; // returns a;
},[]);
Run Code Online (Sandbox Code Playgroud)

等等...