JavaScript — реализовать пользовательское поведение для Object.assign

Реализуйте пользовательское поведение для Object.assign

Да, можно переопределить Object.assign , однако это не рекомендуется, потому что при этом вы меняете глобальную стандартную функцию js, которая может привести к тому, что внешние библиотеки JS, использующие Object.assign могут прекратить работу или будут работать неправильно ( так что это может заблокировать вас от использования внешних библиотек или запретить другим пользователям использовать ваш код).

Вместо этого просто определите новую функцию, которая делает то, что вам нужно, например (это пример — не богатое глубокое слияние объектов)

 function ObjectAssign(a,b) { let o={}; for(let k of Object.keys(a)) { o[k] = a[k]; o[k] = b[k] ? a[k].concat(b[k]) : b[k]; } return o; } result = ObjectAssign({a:[1]}, {a:[2]}); console.log(result); 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector