【发布时间】:2017-08-21 17:13:03
【问题描述】:
我理解 babel-runtime 和 babel-polyfill 之间的区别,第一个不填充全局范围,而后者填充。我认为 babel-runtime 更安全,但我无法理解这意味着什么以及它对我有何影响:
注意:诸如 "foobar".includes("foo") 这样的实例方法将不起作用,因为这需要修改现有的内置函数(为此使用 babel-polyfill)。
据我了解,实例方法类似于map, filter, reduce,因为它们是在现有对象上调用的。哪个例子不会被 babel-runtime 验证? :
//1
['aa', 'bb', 'cc'].forEach(console.log);
//2
const arr = ['aa', 'bb', 'cc'];
arr.forEach(console.log);
//3
const entries = Object.entries(someObj).filter(([key, value]) => key.startsWith('hello'));
//4
const map = new Map();
//5
var s = new Set(["foo", window]);
Array.from(s);
如何准确识别实例方法?
我在我的项目中将 babel-polyfill 替换为 babel-runtime,因为它应该更好,但现在我不确定使用什么是安全的。
【问题讨论】:
标签: javascript babeljs babel-polyfill