自从几年前我问这个问题以来,事情进展顺利。
代理是ES6的一部分。以下示例可在Chrome,Firefox,Safari和Edge中运行:
var handler = {
get: function(target, name) {
return target.hasOwnProperty(name) ? target[name] : 42;
}
};
var p = new Proxy({}, handler);
p.answerToTheUltimateQuestionOfLife; //=> 42