Server = require('mongodb').Server
Esa es mi CoffeeScript
ahora. ¿Hay alguna manera de soltar esos ()
?¿Alguna forma de escribir una propiedad de punto en CoffeeScript sin paréntesis?
Server = require('mongodb').Server
Esa es mi CoffeeScript
ahora. ¿Hay alguna manera de soltar esos ()
?¿Alguna forma de escribir una propiedad de punto en CoffeeScript sin paréntesis?
Esto se parece a un trabajo para destructuring assignment!
{Server} = require 'mongodb'
Lamentablemente, ese enlace no funciona. ¿Cómo haría referencia al Servidor después de esto? EDITAR: Esto lo hizo más claro: http://blog.carbonfive.com/2011/09/28/destructuring-assignment-in-coffeescript/ –
Server = (require 'mongodb').Server
Realmente no hay forma de demarcar estas dos expresiones con claridad utilizando solo espacios en blanco. Probé:
Server = require 'mongodb'
.Server
Pero el javascript resultante fue:
var server = require('Server'.Server);
que obviamente es incorrecto y no lo que quieres.
La respuesta correcta es "no".
Los paréntesis son importantes; te permiten aislar y demarcar expresiones. A pesar del increíble poder de Coffeescript para manejar algunos aislamientos obvios por sí mismo, no todas las expresiones pueden analizarse automágicamente. ¡Abraza el paréntesis!
Hay un boleto abierto para habilitar el segundo caso. Vote por https://github.com/jashkenas/coffee-script/issues/1407 si le interesa. – matyr
Trevor tiene la solución con asignación desestructurada, pero también se debe revisar esta [propuesta sobre cuestiones CoffeeScript] relacionada (https://github.com/jashkenas/coffee-script/issues/1407). – JussiR