Манипулирование объектами JavaScript: методы и приемы заимствования

Вот несколько методов JavaScript, связанных с заимствованием объектов и манипулированием ими:

  1. Object.assign(target,...sources): копирует значения всех перечислимых свойств из одного или нескольких исходных объектов в целевой объект.
  2. Object.create(proto, [propertiesObject]): создает новый объект с указанным объектом-прототипом и дополнительными свойствами.
  3. Object.setPrototypeOf(obj, Prototype): устанавливает прототип (т. е. внутреннее свойство [[Prototype]]) объекта.
  4. Function.prototype.call(thisArg,...args): вызывает функцию и устанавливает значение thisдля предоставленного объекта (thisArg), а также передачу любых дополнительных аргументов.
  5. Function.prototype.apply(thisArg, argsArray): вызывает функцию и устанавливает значение thisдля предоставленного объекта (thisArg)., а также передавая в качестве аргументов объект, подобный массиву (argsArray).
  6. Function.prototype.bind(thisArg,...args): создает новую функцию, при вызове которой значение thisустанавливается на предоставленный объект ( thisArg), а также заранее определенные аргументы.
  7. Array.prototype.slice(start, end): возвращает неполную копию части массива от startдо end( конец не включен).