De-structuring array arguments

# Sultan (5 years ago)

Consider the following is not possible today:

function foo ([a, b] = [1, 2]) {}

foo([2, 3])

While the the following is outside of function arguments:

const arr = [1, 2] const [a, b] = arr

Is there any reason for the current status quo?

# Jordan Harband (5 years ago)

I'm not sure what you mean, that should certainly be possible today. In node, I get this:


function foo ([a, b] = [1, 2]) { return [a, b]; }

foo([2, 3]) // [2, 3]

foo() // [1, 2]

# Tab Atkins Jr. (5 years ago)

On Thu, Jan 17, 2019 at 1:36 PM Jordan Harband <ljharb at gmail.com> wrote:

I'm not sure what you mean, that should certainly be possible today. In node, I get this:

function foo ([a, b] = [1, 2]) { return [a, b]; }
foo([2, 3]) // [2, 3]
foo() // [1, 2]

Yup, and you get the same in browsers. It definitely works today.