leafend617
leafend617

Reputation: 203

JavaScript destructuring with an array element

I have met the following questions in JavaScript:

const [x1, ...[result]] = [3, 4, 5]
console.log([result])

I know x1 is 3, but why is the logging result [4] instead of [4,5]?

Upvotes: 2

Views: 69

Answers (1)

Srinath Kamath
Srinath Kamath

Reputation: 568

So basically what is happening if we follow this syntax

const [a,...b] = [3,4,5]

Javascript creates an array called b and has the value [4,5]

But in your case what is happening is,

const [a,...[b]] = [3,4,5]

This is essentially assigning to only the first variable of the empty array with first value as b, which always equals 4 and not [4,5] as you expect.

So it's equivalent to the case below

const [a,...[b,c]] = [3,4,5]

the only difference is that you are not providing a variable c in your case. So b would correspond to 4 and c would correspond to 5

Upvotes: 5

Related Questions