我注意到在 ECMAScript 标准中你有类似的东西defineProperty
,就像在 JavaScript 对象中定义属性和什么不是,prototype
它通过使用方法和什么来扩展对象。有没有一个速记可以带你:
Object.defineProperty(Person,"name",{
type : "string",
get : function(){ return this.$d.name; },
set : function(_v){ this.$d.name = _v }
})
像这样简单的事情:
function Person(args){
// ... snip ...
this.defineProperty("name",{
get : function() { return $d.name },
set : function(_v) { $d.name = _v; },
type : "string"
});
// ... snip ...
}
我很确定,借助 JavaScript 的魔力,有一种更简单的方法。但我可能只是懒惰。任何指针?
注意:我正在避免使用 CoffeeScript,它过多地提醒了 Ruby,恕我直言。