自我调用参数在babel-loader中将其更改为undefined

时间:2015-12-22 15:41:59

标签: javascript ecmascript-6 webpack babeljs

我正在使用带有babel-loader的Webpack,我发现这个问题:babel-loader将this匿名自我调用函数改为undefined而不是this

例如:

(function (t1, t2) {
})(this, 'test')

转换为:

(function (t1, t2) {
})(undefined, 'test');

1 个答案:

答案 0 :(得分:4)

Babel假设每个文件都是(ES2015)模块。模块的this在运行时具有值undefined。要在尚不支持模块的环境中模拟正确的行为(此时每个环境),Babel会将每个顶级this替换为undefined