When you assign an array or object literal to a value, CoffeeScript breaks up and matches both sides against each other, assigning the values on the right to the variables on the left.
# Swap
[x, y] = [y, x]
CoffeeScript allows to deconstruct objects and arrays when they are fed to functions as arguments.
A function that leverages deconstruction will specify in its signature all the fields that are expected within its body. When invoking such function, an object or array containing all the expected fie...