This is object rest operator, it creates an object from all properties that weren’t explicitly destructured.
Note: since object rest/spread is still a stage 3 proposal, and requires a babel transform to work.
const obj = { a: 1, b: 2, c: 3};
const { a, ...everythingElse } = obj;
console.log(a);
console.log(everythingElse);
It’s equivalent to array rest operator:
const arr = [1, 2, 3];
const [a, ...rest] = arr;
console.log(a);
console.log(rest);