CoffeeScript: 在对象初始化器中的Getter/Setter
- 论坛
- CoffeeScript: 在对象初始化器中的Getter/Setter
9 浏览
CoffeeScript: 在对象初始化器中的Getter/Setter
ECMAScript允许我们定义如下的getter或setter:
[text/javascript]
var object = { property: 7, get getable() { return this.property + 1; }, set setable(x) { this.property = x / 2; } };
如果我使用一个类,我可以绕过这个问题:
[text/coffeescript]
"use strict" Function::trigger = (prop, getter, setter) -> Object.defineProperty @::, get: getter set: setter class Class property: '' @trigger 'getable', -> 'x' member: 0
但是如果我想直接在对象上定义trigger - 而不使用defineProperty
/ -ies
,我想做类似下面的事情(这种方式不起作用):
[text/x-pseudo-coffeescript]
object = property: 'xhr' get getable: 'x'
在JavaScript中可以正常工作,没有任何问题,而且我不希望在使用CoffeeScript时出现退化。有没有一种方法可以像在JavaScript/ECMAScript中那样轻松地做到这一点?谢谢。