Это destructuring assignment.
Синтаксис присваивания деструктурирующего является выражением JavaScript, что делает возможным распаковывать значения из массивов, или свойства из объектов, в различные переменные.
Пример (ES6):
var person = {firstname: 'john', lastname: 'doe'};
const firstname = person.firstname;
const lastname = person.lastname;
// same as this
const { firstname, lastname } = person;
Вы можете найти более подробную информацию на MDN
EDIT: также для разработчиков, знакомых с языком Python может быть интересно сравнить с Python распаковки синтаксиса. python2.7:
>>> _tuple = (1, 2, 3)
>>> a, b, c = _tuple
>>> print(a, b, c)
(1, 2, 3)
С новой функцией Python3, как PEP 3132 вы также можете сделать следующее:
>>> _range = range(5)
>>> a, *b, c = _range
>>> print(a, b, c)
0 [1, 2, 3] 4
Примеры добавлены, потому что уже зная подобный подход от других языков, вы можете ухватить JS идею быстрее.
его называют [деструктурирующие] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) – Gintoki