所有属性的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...