このようなゲッターを設定できます..
var o = { get test(){return 'ya'}}
o.test
==> "ya"
では、すべてのプロパティと将来作成されるプロパティにグローバルなものを設定できますか?
var o = { get _(){return 'ya'}}
o.test = '1';
o.test
==> "ya"
o.moretest = '2';
o.moretest
==> "ya"
このようなゲッターを設定できます..
var o = { get test(){return 'ya'}}
o.test
==> "ya"
では、すべてのプロパティと将来作成されるプロパティにグローバルなものを設定できますか?
var o = { get _(){return 'ya'}}
o.test = '1';
o.test
==> "ya"
o.moretest = '2';
o.moretest
==> "ya"
POJOでいくつかの軽量型チェックを行います..とにかく、これは私にとってはうまくいきました..
$ 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...