按老师视频举的例子来说,通过 babel-runtime 处理 promise 会生成如下代码:
// index.js
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
_promise["default"].resolve(100).then(function (data) {
return data;
});
从生成代码来看是引入了一个 _promise 对象,那这个 var 声明的 _promise 对象默认不是会挂载到 window 对象上吗?这样做不也是污染了全局变量吗?
个人理解:因为 index.js 文件最终会生成一个闭包函数,_promise 只在这个闭包函数作用域内,所以不会影响到 window 对象。
希望老师解答下