有没有一种方法可以设置javascript对象的默认属性,例如:
var emptyObj = {}; // do some magic emptyObj.nonExistingAttribute // => defaultValue
IE可以忽略,Chrome Frame减轻了我的头痛。
自从几年前我问这个问题以来,事情进展顺利。
代理是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