首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用babel-polyfill装载什么填充?

使用babel-polyfill装载什么填充?
EN

Stack Overflow用户
提问于 2016-03-25 14:20:05
回答 2查看 702关注 0票数 1

在我的入门点引入babel-polyfill之后,IE11仍然在抱怨Object.assign。除了Object.assign之外,我的项目还使用了许多其他新API,如Number.isNan、HTMLElement.contains、KeyboardEvent.key等。

我似乎找不到任何关于通过这个插件添加了什么填充的文档。有谁知道哪个API是由这个插件填充的,或者我在哪里可以找到一个全面的列表?我只能找到这句话:

“这将模拟一个完整的ES6环境”

但情况似乎并非如此,因为Object.assign仍未定义。

EN

回答 2

Stack Overflow用户

发布于 2016-03-25 14:30:38

查看github上的来源,它执行字符串填充方法和数组方法。换句话说,你引用的是市场营销。为你想要的东西再多填一遍。这并不是很难填充很多这样的东西。

代码语言:javascript
复制
Number.isNaN = Number.isNaN || function(n) { return n !== n; };

来自MDN

代码语言:javascript
复制
if (typeof Object.assign != 'function') {
  (function () {
    Object.assign = function (target) {
      'use strict';
      if (target === undefined || target === null) {
        throw new TypeError('Cannot convert undefined or null to object');
      }

      var output = Object(target);
      for (var index = 1; index < arguments.length; index++) {
        var source = arguments[index];
        if (source !== undefined && source !== null) {
          for (var nextKey in source) {
            if (source.hasOwnProperty(nextKey)) {
              output[nextKey] = source[nextKey];
            }
          }
        }
      }
      return output;
    };
  })();
}
票数 0
EN

Stack Overflow用户

发布于 2016-03-25 14:36:49

当你看到巴别-波尔填充的源头时,它就在那里:

代码语言:javascript
复制
// 19.1.3.1 Object.assign(target, source)
var $export = _dereq_(33);

$export($export.S + $export.F, 'Object', {assign: _dereq_(66)});
},{"33":33,"66":66}],178:[function(_dereq_,module,exports){
var $export = _dereq_(33)

你用的是哪种版本的巴贝尔?您确定在浏览器化中包含了正确的babel插件吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36221713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档