Ah, Me pareció reconocer esos ejemplos: http://pragprog.com/magazines/2011-05/a-coffeescript-intervention :)
de coincidencia de patrón de CoffeeScript (más formalmente llamado "asignación desestructuración", para distinguirla de patrón de coincidencia en Erland y Scala, que es bastante diferente) puede ser utilizado para extraer información de muy elaborar estructuras de datos. Aquí está un ejemplo de la official docs:
{poet: {name, address: [street, city]}} = futurists
que es esencialmente equivalente a
poet = futurists.poet
name = poet.name
street = poet.address[0]
city = poet.address[1]
En la práctica, sin embargo, asignación desestructurada se utiliza principalmente para agarrar uno o dos propiedades de los objetos, como en los ejemplos que usted ha mencionado , o para obtener partes de una matriz. Por ejemplo, puede intercambiar los valores de dos variables a
y b
escribiendo
[a, b] = [b, a]
y, usando símbolos de, usted puede obtener los valores primero y último de una serie arr
escribiendo
[first, middle..., last] = arr
I Espero que ayude. Por supuesto, hay más ejemplos en mi libro, CoffeeScript: Accelerated JavaScript Development.