if (typeof Object.assign != 'function') {
// Must be writable: true, enumerable: false, configurable: true
Object.defineProperty(Object, "assign", {
value: function assign(target, varArgs) { // .length of function is 2
'use strict';
if (target == null) { // TypeError if undefined or null
throw new TypeError('Cannot convert undefined or null to object');
}
var to = Object(target);
for (var index = 1; index < arguments.length; index++) {
var nextSource = arguments[index];
if (nextSource != null) { // Skip over if undefined or null
for (var nextKey in nextSource) {
// Avoid bugs when hasOwnProperty is shadowed
if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
to[nextKey] = nextSource[nextKey];
}
}
}
}
return to;
},
writable: true,
configurable: true
});
}
发布评论
评论(2)
Polyfill
https://developer.mozilla.org...
最近也碰到了个bug,最后发现是微信浏览器PC端不支持Object.assign方法(目前碰到的手机移动端的微信浏览器都是支持Object.assign方法的)导致的(我引用的一个npm包里它用到了Object.assign方法)。方法很简单,就是去MDN上抄一个polyfill即可。
参考地址:http://www.orzzone.com/wechat...