这个 javascript 语法是什么意思?(0, _parseKey2.default)(something)

IT技术 javascript webpack
2021-03-13 18:35:06

我在 Webpack 生成的库中到处都发现了这种表示法,但我不明白:

var a = (0, _parseKey2.default)(something)

什么是(0, _parseKey2.default)代表?我不记得在函数参数中其他地方的括号之间看到那些逗号分隔的表达式,所以也许我只是遗漏了一些简单的东西。

谢谢你的帮助。

1个回答

这是为了给出_parseKey2.default正确的this(或者更确切地说,根本没有this),即将它作为一个普通的函数而不是一个方法来调用。考虑:

var p = {
    f : function() {
        console.log(this)
    },
    x : "foo"
};

p.f();      // { f: ... x: foo }
(p.f)();    // { f: ... x: foo }
(0, p.f)(); // implicit global this

逗号表达式是一种更简洁的方法:

 var unbound = p.f;
 unbound();
更多在这篇文章中
2021-04-27 18:35:06