Изменения в новых версиях / ES2018

// *** before: ***
var obj = { a: 1, b: 2, c: 3 };
var rest = {};
Object.keys(obj).forEach(function (key) {
    if (key !== "a") { rest[key] = obj[key]; }
});
var merged = Object.assign({}, obj, { d: 4 });

// *** in version ES2018: ***
const obj = { a: 1, b: 2, c: 3 };
const { a, ...rest } = obj;
const merged = { ...obj, d: 4 };