Согласно MDN, Object.assign() пока не поддерживается IE и Android. Если вы установите версию машинопись 2.1 или выше, хотя, вы можете использовать Object Spread вместо:
let obj = { x: 1, y: "string" };
var newObj = {...obj, z: 3, y: 4}; // { x: number, y: number, z: number }
Если вы не хотите использовать машинопись, то вот simple polyfill от конверсии Машинопись о выше в JavaScript :
Object.assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
var obj = { x: 1, y: "string" };
var newObj = Object.assign({}, obj, { z: 3, y: 4 });
View on Typescript Playground
Будьте осторожны с IE. Согласно MDN, он не поддерживается. – lukeatdesignworks
Android-браузер не поддерживает это: http://kangax.github.io/compat-table/es6/#test-Object_static_methods_Object.assign – Chris
Если вы используете Angular-CLI, найдите 'poyfills.ts' и раскомментируйте код, поддерживающий IE9-11. – shammelburg