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]?
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
resultis4, not[ 4 ].[ result ]can never be[ 4, 5 ]. It seems to behave similarly toconst [first] = array;; in this case, it seems to be spreading the rest of[ 3, 4, 5 ], i.e.[ 4, 5 ]into...[result], then destructuring[ 4, 5 ]into[ result ]; thereforeresultis4.