所有属性的Javascript getters / setters

我可以像这样设置一个getter

var o = { get test(){return 'ya'}} o.test ==> "ya" 

那么我可以设置一个全局属性和未来创build的属性吗?

 var o = { get _(){return 'ya'}} o.test = '1'; o.test ==> "ya" o.moretest = '2'; o.moretest ==> "ya" 

在POJO上做一些轻量级的types检查..无论如何,这对我来说是有效的。

 $ node --harmony require('harmony-reflect'); function prox(target) { return Proxy(target, { get: function(target, name) { if(name in target) return target[name]; throw Error('Not a valid property'); }, set: function(target, name, val) { if(name in target) return target[name] = val; throw Error('Not a valid property'); } }); } var o = prox({name:'john'}); console.log(o.name); o.name = 'jo'; console.log(o.name); o.age = 21; >> error...