3

このようなゲッターを設定できます..

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"
4

1 に答える 1

1

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...
于 2013-11-10T14:38:41.500 に答える