Javascript 在方法调用中使用逗号表达式的意义是什么,例如'var proc=(0,_postsss2.default)()`

Javascript 在方法调用中使用逗号表达式的意义是什么,例如'var proc=(0,_postsss2.default)()`,javascript,javascript-objects,Javascript,Javascript Objects,在看cssnano源代码时,我遇到了这一行 var proc=(0,_postss2.default)() 从我的测试来看,它似乎和 var proc=_postsss2.default() 为什么cssnano使用第一种语法分配proc?有一个细微的区别,即此值在默认值中根据两个不同的调用而不同。考虑下面的代码: var\u postss2={ 默认值:函数(){ 归还这个; } }; var proc=(0,_postss2.default)(); console.log(proc);//

在看cssnano源代码时,我遇到了这一行

var proc=(0,_postss2.default)()

从我的测试来看,它似乎和

var proc=_postsss2.default()


为什么cssnano使用第一种语法分配
proc

有一个细微的区别,即
值在
默认值中根据两个不同的调用而不同。考虑下面的代码:

var\u postss2={
默认值:函数(){
归还这个;
}
};
var proc=(0,_postss2.default)();
console.log(proc);//proc==窗口(或在严格模式下未定义)
var proc=_postsss2.default();

console.log(proc);//proc===\u postss2
两行执行相同的操作。至于cssnano为什么第一次这样做,我说不上来。@nnnnnn不太清楚,我会写一个答案。@AlexanderO'Mara-好的,它会改变函数中这个
的值-这就是你的意思吗?我想我会等着看你的答案…@nnnnnn是的,这就是区别。答案很好,尽管它提出了一个问题,
default
方法为什么会使用
this
,如果它不打算这样调用。你可能想添加一些关于逗号运算符的功能,为什么在函数调用时会发生变化。@Barmar是的,我能想到的唯一一件事就是在浏览器和节点中使用一种不带
typeof
的黑客方式访问全局
this
。但我不会这么做,我把所有东西都放在严格的模式下。@nnnnnnnn很好,我添加了一个简短的概述。@Barmar发现这是我认为Babel为ES6导入生成的东西。但我不确定到底为什么。