Это всё хорошо.
Только вот код поломается одинаково, что с ней, что без.
Банально, JS даже не будет ругаться, если ты полезешь за пределы листа, что в простом обращении, что при деструкте.
[a, b, c] = [1]
b
и c
= undefined
[1][3]
= undefined
Нормальный язык, разумеется, тебе выстрелит и по шарам даст. Но снова таки, в обоих случаях. И значит и отловить проблему будет одинаково просто.