Я уверен, что это относительно просто, и что мне не хватает чего-то очевидного. Я читаю учебники Mozilla на ES6, а в главе о деструкции содержится следующий шаблон:
ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ ФУНКЦИЙ
В качестве разработчиков мы часто можем выставлять более эргономичные API, принимая единственный объект с несколькими свойствами в качестве параметра вместо заставляя наших потребителей API помнить порядок многих индивидуальных параметры. Мы можем использовать деструктуризацию, чтобы избежать повторения этого синтаксиса объект параметра, когда мы хотим ссылаться на один из его свойств:
function removeBreakpoint({ url, line, column }) { // ... }
Это упрощенный фрагмент кода реального мира из Firefox DevTools JavaScript-отладчик (который также реализован в JavaScript-yo dawg). Мы нашли этот образец особенно приятным.
Я не понимаю, как это относится к деструкции. Является ли идея, что вы разрешаете возможность передавать объект в эту функцию, которая может быть в произвольном порядке, если она содержит все элементы, т.е. { line: 10, column: 20, url: 'localhost' }
?
Если да, то в чем преимущество над чем-то вроде
function removeBreakpoint(params) {
// ...
}
где params - объект с url
, line
и column
? Является ли идея только тем, что вы заставляете Javascript проверять параметры функции при использовании в деструктурированном контексте, явно определяя их?