码迷,mamicode.com
首页 > 其他好文 > 详细

Object.assign() 之 IE 兼容 (TypeError: 对象不支持“assign”属性或方法)

时间:2019-07-30 12:44:29      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:复制   bsp   ons   can   arguments   for   cti   typeerror   undefined   

 直接复制拿去IE大佬上面用一下就可以了,兄嘚。

// IE 兼容方法
if (typeof Object.assign != ‘function‘) {
  Object.assign = function(target) {
    ‘use strict‘;
    if (target == null) {
      throw new TypeError(‘Cannot convert undefined or null to object‘);
    }

    target = Object(target);
    for (var index = 1; index < arguments.length; index++) {
      var source = arguments[index];
      if (source != null) {
        for (var key in source) {
          if (Object.prototype.hasOwnProperty.call(source, key)) {
            target[key] = source[key];
          }
        }
      }
    }
    return target;
  };
}

// 以下为测试代码
var target = { a: 1, b: 2 };
var source = { b: 4, c: 5 };

var returnedTarget = Object.assign(target, source);

console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }

console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }

 

Object.assign() 之 IE 兼容 (TypeError: 对象不支持“assign”属性或方法)

标签:复制   bsp   ons   can   arguments   for   cti   typeerror   undefined   

原文地址:https://www.cnblogs.com/wen233/p/11269258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!