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

时间:2016-02-20 11:26:19

标签: javascript webpack

我在Webpack生成的libs中找到了这个符号,但我不理解它:

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

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:19)

这是为_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();