给定一个输入文件,例如
import { a } from 'b'; function x () { a() }
巴别塔将其编译为
'use strict'; var _b = require('b'); function x() { (0, _b.a)(); }
但是在松散模式下编译时,函数调用输出为 _b.a();
_b.a();
(0, _b.a)()确保在将函数设置为全局对象的_b.a情况下调用该函数this(如果启用了严格模式,则为to undefined)。如果你打电话_b.a()直接,然后_b.a调用与this设置_b。
(0, _b.a)()
_b.a
this
undefined
_b.a()
_b
(0, _b.a)(); 相当于
(0, _b.a)();
0; // Ignore result var tmp = _b.a; tmp();