Современная версия языка JavaScript, носящая название ES2015, он же ES6,  получила ряд дополнительных возможностей, которые хотелось бы рассмотреть отдельно.

1. Деструктуризация (destructuring assignment)

Деструктуризация это выражение, позволяющее преобразовать объект или массив в список переменных, выражение слева содержит список переменных, выражение справа - объект или массив, который нужно преобразовать.

let {a, b, ...rest} = {a: 100, b: 200, c: 300, d: 400}
a; // 100
b; // 200 
rest; // { c: 300, d: 400 }

Если число переменных меньше, чем в объекте, то оператор спред "..." после переменных позволяет добавить все остальные элементы массива или объекта в переменную после "...". 

продолжение следует...