I have been reading about [Destructuring assignment](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) introduced in ES6.

What is the purpose of this syntax, why was it introduced, and what are some examples of how it might be used in practice?