Syntax for destructuring arrays into function para

2020-03-12 04:06发布

问题:

There is plenty of documentation on how to destructure objects passed as function parameters in Javascript 2015 / ES6 / ECMAScript 2015, with a function like this:

function foo({a, b}) {
   console.log(`a: ${a}, b: ${b}`);
}

But how do you destructure an array parameter?

回答1:

The correct syntax to destructure an array parameter is:

function foo([a, b]) {
   console.log(`param1: ${a}, param2: ${b}`);
}

It can be called like this:

 foo(['first', 'second']);
 // Will output:
 // param1: first, param2: second

According to Exploring ES6, section 11.6, you can use this to destructure parameters within arrow functions as well:

const items = [ ['foo', 3], ['bar', 9] ];
items.forEach(([word, count]) => {
    console.log(word+' '+count);
});