Reputation: 203
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
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