CoffeeScript 中全局静态对象中的自引用

Self referencing in global, static object in CoffeeScript

有什么方法可以在 CS 的全局静态对象中实现如下自引用?

@Obj
  x: ['string']
  y: [@x]

据我了解,这似乎不可能。主要是由于在 y 赋值时尚未创建对象。某种形式的 getter 和 setter(例如 __definedSetter____defineGetter__ 等)似乎是最有可能的选择,但我必须将此对象变成 class 并且在 CS 中存在大量问题,除了这个自引用问题之外我没有理由这样做。有什么解决方法吗?

谢谢!

正如您所提到的,这可以通过 class 实现(您可以在构造函数中引用 Obj.x 并将其分配给 Obj.y)。如果它是一个静态对象,我只是将它分配在单独的一行中 @Obj.y = [@Obj.x].